void main()
{
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int *p; p=*a;//a[0];
int i;
//printf("address of p=%d\n",&p);
//printf("value of p=%d\n",*(p+9));
printf("address of *a=a=a+0=*a+0=%d\n",*a+3);
printf("address of a+1=%d=*(a+1)=%d\n",a+1,*(a+1));
printf("address of a[0]=%d,&a[0][0]=%d\n",a[0],&a[0][0]);
printf("----------------------------------------\n");
printf("address of a[0]+1=%d,&a[0][1]=%d\n",a[0]+1,&a[0][1]);
printf("----------------------------------------\n");
printf("address of a+1=%d,a[1]=%d,&a[1][0]=%d\n",a+1,a[1],&a[1][0]);
printf("address of *(a+1)+1=&a[1][1]=%d\n",*(a+1)+1);
printf("address of a[0]+3*1+1=a[1][1]=%d\n",a[0]+3*1+1);
int x; //------------指针数组-----------------//
int *pr[4];//基类型为整型的指针数组,存储整形变量的地址,本质还是一个数组
pr[3]=a[0];//指针数组用来存储某种基类型的指针
pr[2]=&x; //-----------指向数组的指针-----------//
int (*pt)[3];//指向含有3个元素的数组的指针,其及类型为有三个整型元素的数组,本质是一个指针 int ax[3]; pt=&ax; pt=&a[1];//指向a的第二行那个拥有3个元素的数组
pt=a;
}