指针数组
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a[2][3] = {1,2,3,4,5,6};
int *p[2] = {a[0],a[1]};
printf("p[0] = %p\n",p[0]);
printf("a[0] = %p\n",a[0]);
printf("*a[0] = %d\n",*a[0]);
printf("*p[0] = %d\n",*p[0]);
return 0;
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/aa1e37139cf6f1cc7b59e14e985dc6da.png)
数组指针
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a[2][3] = {1,2,3,4,5,6};
int (*p)[3] = a;
#if 0
printf("*a = %p\n",*a);
printf("**p = %d\n",**p);
printf("**p++ = %d\n",**p++);
printf("**p = %d\n",**p);
#endif
printf("a[1][1] = %d\n",a[1][1]);
printf("p[1][1] = %d\n",p[1][1]);
printf("p[1][1] = %d\n",*(*(a+1)+1));
printf("p[1][1] = %d\n",*(*(p+1)+1));
return 0;
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/194ffda6d69ba7550dea4899ef4c4fd5.png)