黑马程序员技术交流社区
标题:
多级指针的定义问题
[打印本页]
作者:
yako
时间:
2015-11-28 23:55
标题:
多级指针的定义问题
三级指针为什么要这样定义?
int a=0;
int *p=&a;
int **p1=&p;
int ***p2=&p1;
为什么不可以这样定义?
int a=0;
int *p=&a;
int *p1=&p;
int *p2=&p1;
作者:
onlyanswer
时间:
2015-11-28 23:59
标准就是这样规定的
作者:
Tmac90301
时间:
2015-11-29 00:11
规定就是如果指向一个指针,就要用二级指针.虽说都是变量都是普通地址没错,但是这么写并不好
作者:
yako
时间:
2015-11-29 00:13
楼上大神可否帮忙解释下原理啊?我个人觉得第二种也有道理啊,不知道错在哪里了。
作者:
仰望星空的猪
时间:
2015-11-29 21:16
第二种的定义中 P1只能存放 int类型 的变量地址。 而&p 是一个地址(类型) 不是int类型。所有p1 不能存放p的地址。
作者:
zsdzsd
时间:
2015-11-29 21:42
*这是取值运算符,*p2只是取到的P1存的值,也就是P的地址,**P2取得值就是P存的值,也就是a的地址,***P2就是取得a存的值
作者:
cube川
时间:
2015-11-30 18:07
第二种有问题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2