定义:int iar[3] [4]={0}
iar+1 表示指针横向向下移动一行,加了整行 一共16个字节,*(iar+1) 解引用后指针直接从横向指变味了纵向指如下图
*(iar+1)+2 指针纵向指向右移动两个单元格 相当于指向&iar[1][2]地址
*(*(iar+1)+2) 再次解引用后拿到的是iar[1][2]里的数据,*(*(iar+1)+2)《=》 iar[1][2]
sizeof(iar)整个数组元素所占字节数 48
sizeof(iar[0]) 一行数据元素所占字节数 16
sizeof(iar[0][0])当前数据类型所占的字节数 4
求二维数组有多少行 sizeof(iar)/sizeof(iar[0])
求二维数组有多少列 sizeof(iar)/sizeof(iar[0][0])
传形参时 void show(int (*iar)[4],int row,int col){
遍历时: for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
printf("%d",iar[i][j] <=> *(*(iar+i)+j)); } } }
访问int iar[0][5] 访问的是第二行第二个里面的数据
二维数组初始化时,第一维可是省略,第二维不可省略:int iar[][4]={1,2,3,4,5,6,7,8,9},系统根据后边的值自动定义第一维的长度,