您的位置:首页 > 编程语言 > C语言/C++

C语言-多级指针

2017-11-28 07:43 169 查看

多级指针

指针保存的是变量的地址,保存的这个变量可以是一个指针变量。

**
表示二级指针,
***
表示三级指针,以此类推。

int a = 50;
//p1上保存的a的地址
int*p1= &a;
//p2上保存的p1的地址
int** p2 = &p1; //二级指针
//p3上保存的p2的地址
//int*** p3 = &p2; //三级指针


二级指针

二级指针上保存的是一级指针的地址。
*p2
即指向
p1
**p2
即指向变量a

int a = 50;
//p1上保存的a的地址
int*p1= &a;
//p2上保存的p1的地址
int** p2 = &p1; //二级指针

printf("p1:%#x,p2:%#x\n", p1, p2);
printf("p1:%#x,p2:%#x,a:%#x\n", &p1, &p2,&a);
//改变a的值
**p2 = 90;

printf("%d\n", a);

getchar();


打印结果为

p1:0x1af794,p2:0x1af788
p1:0x1af788,p2:0x1af77c,a:0x1af794
90
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言