C语言基础语法第六章指针 demo13_数组指针
//能不能定义一个指针,让指针偏移的时候,也偏移对应大小的数组?
//数组指针,定义一个指针,指向一个数组!
//数组指针才是真正等同于二维数组名 p2 = arr
#include <stdio.h>
int main()
{
int arr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int i,j;
int *p;
//能不能定义一个指针,让指针偏移的时候,也偏移对应大小的数组?
//数组指针,定义一个指针,指向一个数组!
//数组指针才是真正等同于二维数组名 p2 = arr
int (*p2)[4];
p2 = arr;//数组指针
printf("p2=%p\n",p2);
printf("arr[0]=%p\n",arr+0);
printf("arr[0]=%p\n",arr[0]+0);
printf("arr[0]=%p\n",*(arr+0)+0);
//printf("++p2=%p\n",++p2);
printf("arr[1]=%p\n",arr+1);
printf("arr[1]=%p\n",arr[1]+0);
printf("arr[1]=%p\n",*(arr+1)+0);
for (i=0;i<3;i++){
for (j=0;j<4;j++){
printf("%d\n",*(*(p2+i)+j));//这里p2等于arr 数组指针才是真正等同于二维数组名
}
}
return 0;
}