【发布时间】:2017-03-30 09:50:39
【问题描述】:
我有一个全局数组声明为
int Team1[12][8];
当我调用函数时
int readLineupB(int teamNr){
int (*teamToRead)[12][8];
teamToRead = &Team1;
for (int currentPlayersNumber = 1; currentPlayersNumber<11; currentPlayersNumber++) {
for (int otherNumber = 1; otherNumber<7; otherNumber++) {
*teamToRead[currentPlayersNumber][otherNumber] = 20;
}
}
return 1;
}
它填充数组直到位置 [10],[3],然后似乎对于 [10],[4] 我得到了分段错误,我不明白为什么。
【问题讨论】:
-
(*teamToRead)[currentPlayersNumber][otherNumber] = 20;怎么样? -
C 数组从
0开始索引并上升到N-1... -
@M.M 已删除:D 睡眠/咖啡太少。
-
谢谢@SouravGhosh,括号解决了!关于数组从 0 开始,我知道,我只是减小了分配的“宽度”以排除边缘处的错误。
标签: c arrays pointers operator-precedence