我收到了一個任務,雖然沒有指定我想實現指針的使用。我遇到的問題是我相信我沒有第二次正確傳遞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