三、3种二维数组的形参声明方式 1、数组法 该方法需要指定行数:void display2DArray(int arr[][5],int row);//需要指定行数row 注意:需要指定行数,但是以下指定方式是无效的://以下方式指定行数无效void display2DArray(int arr[3][5]); 原因:如同一维数组在函数形参中声明一样,数组被弱化为指针,因此函数体内部无法获取该值。如下所示://以下两种声明方式是等效的:void display(int array[5])//5在这里是无效的void display(int array[])//5在这里是无效的 2、数组指针法 该方法需要指定行数:void display2DArray(int (*arr)[5],int row); 注意:切记以指针数组声明,该声明是错误的,如下:void display2DArray(int *array[5]); //error 3、指针法 该方法需要同时指定列数与行数,以下展示了该方法的声明与调用过程:void display2DArray(int *array,int rows,int cols) //error{ for (int i=0;i<rows;++i) { for (int j=0;j<cols;++j) { printf("%d ", *(array + rows * i + j)); } }}
博客摘录「 C语言:二维数组的传递」2023年12月7日
最新推荐文章于 2024-09-28 21:20:29 发布