#include <stdio.h>
#include <string.h>
int main()
{
int *arr = NULL;
arr = (int *) malloc(1*sizeof(int));
arr[0] = 4;
arr[1] = 2;
printf("%d%d\n", arr[0], arr[1]);
system("PAUSE");
return 0;
}
爲什麼它返回42?是不是malloc
大小隻有一個整數可用於
存儲? (當我嘗試arr中[1]是不是應該拋出一個錯誤?)C - 'malloc'似乎無法正常工作
我使用Win7的32位
這是未定義的。您只是訪問一些隨機存儲器空間並將其讀取爲整數。它不一定會拋出一個錯誤,但通常會給你一些奇怪的結果。 – texasbruce