#include<stdio.h>
int main(){
int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};
// a表示第一行,用这一行的首地址表示
// *a可以看作一维数组a[4](二维数组的第一行)中的a[0]的地址(指针)
// **a表示一维数组a[0]的值 ,即二维数组a[0][0]的值
// 所以*(a+1)表示第二行,用第二行首地址表示
// *(a+1)+1表示a[1][1]的地址,等价于a[1]+1,对应的值为*(*(a+1)+1)注意要加括号
// 总之,遇到二维数组,可以将其看作多个一维数组来看 。
printf("%d\n",*(*(a+1)+1));//11
printf("%d\n",**a);//1
printf("%d\n",**(a+1));//9
printf("%d\n",**a+1)//1+1=2
return 0;
}
二维数组中有关的指针
最新推荐文章于 2023-09-18 01:04:50 发布