函数的形参与实参(二维数组)

int a [][2]={1,2,3,4}

其中a 既不是 int * ,也不是 int **, 也不是 int(*)[2] , 而是 int [][], 类型。

int ** 指指向指针的指针。

int (*)[2] 指指向数组的指针,数字2 ,代表了每行的步长。这个数组中存储的是原数组每行的首元素的地址(我猜的)。

对于fun(a) , 如果函数的形参为 fun(int b [][2]), 这是默认的。如果函数的形参为 fun(int (*b)[2]), 那么 a 的类型会默认转化为

int(*b[2]), 这样也不会出错。

所以在传入函数的实参时,只需传入数组名就行。

 

 

疑问:数组a 中, 名字a 是一个指针,它怎么就成了int 类型?

posted @ 2020-04-06 11:22  看星星的派大星  阅读(666)  评论(0编辑  收藏  举报