这段代码是我今早在想指针数组应该怎么去了解清楚的时候想到的一个代码,纠结了1半个多小时将代码理清楚,分享给大家看一下,对我最近发布的博文应该有一个补充帮助理解的作用。
对于这段代码的解释:
要正确理解指针数组是一个数组,我们看待这个数组就用数组的眼光来看待里面的每一个元素就好,更容易理解。
附上源码大家可以看一下,如果对于我没有注释的代码不懂欢私信或者评论区留言
int main()
{
int a = 1;
int b = 3;
int c = 9;
int* addr[] = { &a,&b,&c };
int i = 0;
int sz = sizeof(addr);
int st = sizeof(addr[0]);
for (i = 0; i < 3; i++)
{
printf("%d ", *addr[i]);
printf("%p ", &addr[i]);
printf("%d ", ** (addr + i));
printf("%d ", *(addr + i));
printf("%p ", *(addr + i));
printf("%p ", addr + i);
printf("\n");
}
printf("\n");
printf("%d ", *addr);
printf("%p ", *addr);
printf("%d ", *addr[0]);
printf("%d ",sz);
printf("%d ", sizeof(int));
printf("%d", sizeof(&a));
return 0;