注意: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 数组遇到了这个问题,但我认为这是完全相同的问题,这只是最简单的情况。
谁能帮我理解为什么除了第一个元素之外似乎不可能设置任何东西?