在C 中傳遞對二維數組的引用
在C 中使用操作數組的函數時,了解如何傳遞引用至關重要。本文將解決如何將對二維數組的引用傳遞給函數的問題。
提供的錯誤訊息,「error: Expected ',' 或 '...' before '*' token」表示傳遞二維陣列引用的語法不正確。當編譯時已知尺寸時,正確的語法是:
void do_something(int (&array)[board_width][board_height]);
在此語法中, “array ”之前的“&”符號表示正在傳遞對數組的引用。透過使用引用,函數可以對數組進行直接且可變的引用,這意味著函數內對數組所做的任何更改都將反映在原始數組中。
或者,如果您希望傳遞指針對於第一個子數組,請使用以下語法:
void do_something(int array[board_width][board_height]);
但是,此方法不會提供原始陣列的直接引用,且函數內所做的任何變更都不會反映在原始陣列中。
需要注意的是,在使用引用時,可以刪除函數參數的大小(在本例中為“board_width”),因為大小在編譯時已知。另一方面,傳遞指標需要指定第一維的大小,如'int arrayboard_width'。
總之,在C中傳遞對二維數組的引用需要使用' &' 在函數原型中的數組參數之前,確保函數內所做的更改反映在原始數組中。理解這個概念有助於避免錯誤並確保函數內正確的資料操作。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3