使用calloc后出现C访问冲突
注意:C是Microsoft C编译器。
我遇到以下代码的问题。
*Roomsize = (int*)calloc(sizeof(int),sched->numberOfRooms);
roomIndex = 0;
for(roomIndex=0; roomIndex< sched->numberOfRooms; roomIndex++)
{
fscanf(inputFile,"%d",&lineInput);
numberOfLinesRead++;
*Roomsize[roomIndex] = lineInput;
}
这是一个单独的C文件。在我决定将事情分开以使它们更易于维护之前,我没有遇到这个问题,而且我认为我只是把指针搞得一团糟。
calloc运行正常。
在循环的第一次迭代中,roomIndex的元素零被正确设置。
但是,循环中的第二个元素(元素1)始终会在运行时导致访问冲突。
我后来在我的代码中遇到了这个问题,并且使用了2d数组,但我认为这是完全相同的问题,这只是最简单的情况。
任何人都可以帮助我理解为什么除了第一个元素之外似乎不可能设置任何东西?
没有找到相关结果
已邀请:
2 个回复
墩瓣茅械
与
相同。你想说
。 (我假设
实际上是
。如果这不正确,那么问题可能在其他地方。)
抚驰
时,你的第一行看起来错了。如果我假设Roomsize是一个
是正确的,你应该说
如@Daniel发布的那样,你的作业也应该改变以摆脱星号。