|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main(void)
{ int *o;
int i=3;
o=&i;
printf("*o:%d\n",*o);
printf("o:%p\n",o);
printf("o:%d\n",o);
int array[2][3]={{1,2,3},{4,5,6}};
int (*p)[3]=array;
printf("*p:%d\n",*p);//疑问这里的*p和上面的*o写法一样,为什么上面是取该指针变量指向的值,底下*p是存放的指针(地址)
printf("*p:%p\n",*p);
printf("*(*p):%d\n",*(*p));
printf("**(p+1):%d\n",**(p+1));
return 0;
}
运行结果:
*o:3
o:000000000061FE0C
o:6422028
*p:6422000
*p:000000000061FDF0
*(*p):1
**(p+1):4
p是指向指针的指针,也就是说p指向的地址中的值是另一个指针,另一个指针所指向的地址中的值才是真正的值
|
|