C++ Primer Plus|二维数组在函数中形参的表示
假设有下列代码
int data[3][4] = {{1,2,3,4},
{9,8,7,6},
{2,4,6,8}};
int sum(data, 3);
data[3][4]
是一个2维数组,也可以看作有3个元素的数组,每个元素分别是一个有4个元素的数组。- 原型中设置数组的形参有两种方法
-
int func(int arr[]);
:声明这个位置是一个数组
-
int func(int *arr);
:声明这个位置是一个指针,数组名对应的是第1个元素的地址arr = *arr[0]
- 我们需要声明一个数组,而这个数组的元素依然是数组,则有
-
int func(int ar2[][4]);
:有4列元素的数组
-
int func(int (*ar2)[4]);
:一个指针,指向4个元素组成的数组。加括号可以区分int *ar2[4]
,这是4个指针。
sum
的原型该形式如下
int sum(int (*ar2)[4], int n);
int sum(int ar2[][4], int n);