在 C 中传递对二维数组的引用
在 C 中使用操作数组的函数时,了解如何传递引用至关重要。本文将解决如何将对二维数组的引用传递给函数的问题。
提供的错误消息,“error: Expected ',' or '...' 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