黑马程序员技术交流社区
标题:
关于指针指向指针问题
[打印本页]
作者:
sen
时间:
2014-4-16 14:11
标题:
关于指针指向指针问题
本帖最后由 sen 于 2014-5-20 12:00 编辑
int a =10;
int *p=&a;
视屏中的得是指针指向指针是: int **pp= &p;
那如果我再定义一个数据 int *zhizhen= &p;这样的话与int **pp= &p;的作用是一样的吗?
作者:
王雪冬
时间:
2014-4-16 14:21
看你的代码:
int a =10;
int *p=&a;
复制代码
其中 p为指针类型,
而下面的:
int **pp= &p;
复制代码
是指向指针类型变量的指针。
而下面的代码:
int *zhizhen= &p
复制代码
是错误的,因为 int *zhizhen 其实和第二行的 int *p 是一模一样的。也是只能指向int型变量的地址。
其实你应该这么理解:
要想定义一个指向一个类型变量的指针变量,你就在要指向的变量的类型后面添加*号,这样定义。
例如: int *p;
这个p是int * 类型。即指向整型变量的指针类型。你要想在定义一个指针指向 p,
那就将p 的类型拿出来-----》int * 在这个类型后面加上 *
即: int ** ,然后用这个定义变量------》 int **PP;
作者:
星河鹭起
时间:
2014-4-16 14:56
你这个是错误的;
int a =10;
int *p=&a;
这个代码表明 指针p指向变量a的地址
int **pp=&p
这个代表指向指针的指针pp指向指针p的地址
int *zhizhen=&p
这个代表指针zhizhen只是指向指针p的变量的地址,注意是变量地址,并不是指针的地址。和 int *p=&a 一样的。
有个方法就是,指向变量的指针是一个*,指向指针的指针是两个*,指向指针的指针的指针就是三个* 以此类推。
作者:
D调的沉默
时间:
2014-4-16 18:11
沙发和板凳都讲得好完美,估计你懂了就不给你解释了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2