1.二维数组传参的3种书写模板
void print(int arr[][2],int row,int col);
void print(int arr[3][2],int row,int col);
void print(int (*arr)[5],int row,int col);
注意:int(*arr)[]这个是数组指针
2.数组指针vs指针数组
看最后两个字去区分
int (*arr)[3 ]; 指针
int * arr[ 3]; 数组
数组名大部分情况都会退化为为指针
就是
arr[]会变成 (*p)
p+1还是看成指针加减的形式
3.为什么数组名会退化
例如 arr[3][5]
如果是把15个int全部复制,不仅拷贝量太大,而且容易占大量内存,容易栈溢出
这个是计算机设计的机制
但是在日常代码中,直接写数组的形式就可以了
比如 :arr[i][j]等价于 (*(arr+i)+j)
只是考试要会辨别就行了
5952



被折叠的 条评论
为什么被折叠?



