我收到了一个任务,虽然没有指定我想实现指针的使用。我遇到的问题是我相信我没有第二次正确传递2D阵列。我第二次的意思是我想将数组从main传递给一个函数,然后再从这个函数传递给另一个函数(如果有人知道这样做的一些适当的术语,我将不胜感激,如果你能分享它。 )由于我已经写了一堆其他代码,我将提供如何传递它的方法,如果我正确地做到了这一点,我将提供其余代码以查找代码中是否存在其他错误。传递二维数组
int main(){
char seats[rows][columns] //rows and columns are global integers
assignSeats(&seats);
}
void assignSeats(char (*sPlan)[rows][columns]){
assignFirstClass(sPlan);
}
void assignFirstClass(char (*sPlan)[rows][columns]){
//user inputs for row and col
(*sPlan)[row][col] = 'X';
}
只是提到,我没有得到任何错误,只是我没有得到我给的数组位置的值。虽然错误可能在其他地方,但我首先要确认我正在正确地传递数组,因为这对我来说是新的。预先感谢您的帮助。
解决方案 问题是不是传递指针的方法,简单地说,而不是:
(*sPlan)[row][col] = 'X';
我写道:
(*sPlan)[row][col];
它只是去多次传给我。
的[传递的2D阵列,以C++函数]可能的复制(http://stackoverflow.com/questions/8767166/passing-a-2d-array-to-ac功能) – nitronoid
是的,我已经看到了,这就是我做了第一遍。但它并没有解决第二遍问题。这是我询问的地方。 –
查看此[问题](https://stackoverflow.com/questions/8767166/passing-a-2d-array-to-ac-function)为传递二维数组的不同方法 – nitronoid