在C 中傳遞對二維數組的引用
在C 中使用操作數組的函數時,了解如何傳遞引用至關重要。本文將解決如何將對二維數組的引用傳遞給函數的問題。
提供的錯誤訊息,「error: Expected ',' 或 '...' before '*' token」表示傳遞二維陣列引用的語法不正確。當編譯時維度已知時,正確的語法是:
<code class="cpp">void do_something(int (&array)[board_width][board_height]);</code>
在此語法中,「array」之前的「&」符號表示正在傳遞對陣列的引用。透過使用引用,函數可以對數組進行直接且可變的引用,這意味著函數內對數組所做的任何更改都將反映在原始數組中。
或者,如果您希望傳遞指針對於第一個子數組,請使用以下語法:
<code class="cpp">void do_something(int array[board_width][board_height]);</code>
但是,此方法不會提供原始數組的直接引用,並且函數內所做的任何更改都不會反映在原始數組中.
需要注意的是,在使用引用時,可以刪除函數參數的大小(在本例中為“board_width”),因為大小在編譯時已知。另一方面,傳遞指標需要指定第一維的大小,如“int arrayboard_width”。
總之,在 C 中傳遞對二維數組的引用需要使用 ' &' 在函數原型中的數組參數之前,確保函數內所做的更改反映在原始數組中。理解這個概念有助於避免錯誤並確保函數內正確的資料操作。
以上是如何在 C 中傳遞對二維數組的引用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!