realloc memory访问冲突读取位置

时间:2013-11-08 19:06:02

标签: c pointers memory-management memory-leaks realloc

可能我的大脑现在不能正常工作......我想知道为什么我的代码中会出现提到的错误:

int ** zm;
zm = (int**)calloc(1, sizeof(int*));
*zm = (int*)calloc(1, sizeof(int));
*zm[0] = 5;
*zm = (int*)realloc(*zm, 2*sizeof(int));
*zm[1] = 10; // Access violation reading location 0xFFFFFFFFFFFFFFFF

有人能解释一下代码中发生了什么吗?

2 个答案:

答案 0 :(得分:4)

索引错误,请尝试使用(*zm)[1]。并检查库调用中的错误。

答案 1 :(得分:0)

尝试*(zm + 1)指定第二个元素的值 *(ZM + 1)= 10;