c语言 二级指针
【摘要】 @TOC 前言前面我们学习了一级指针操作变量,那什么是二级指针?二级指针又如何操作变量呢? 一、二级指针的声明定义:二级指针定义:int a = 12; / / a变量有自己的空间地址,假设为 0x10, 里面装 12int *p = &a; / / p变量有自己的空间地址,假设为 0x20, 里面装 0x10int **pp = &p; / / pp变量有自己的空间地址,假设为 ...
@TOC
前言
前面我们学习了一级指针操作变量,那什么是二级指针?二级指针又如何操作变量呢?
一、二级指针的声明定义:
二级指针定义:
- int a = 12; / / a变量有自己的空间地址,假设为 0x10, 里面装 12
- int *p = &a; / / p变量有自己的空间地址,假设为 0x20, 里面装 0x10
- int **pp = &p; / / pp变量有自己的空间地址,假设为 0x30, 里面装 0x20
注意点:
pp 就是二级指针变量,用来装1指针的地址。
int ** 就是二级指针类型,int *是一级指针类型。
同理: int ***是三级指针类型,装二级指针地址,&pp。
int **** 是四级指针类型,装三级指针地址。
平时顶多用到2级,本质都是一样的。
二、二级指针的使用:
计算规则:
- *+空间的地址,就是该空间本身。
- *+ 空间的地址,就是该空间本身。
推导d:
p == &a;
*p == *&a;
pp == &p;
*pp == *&p ==p;
** pp ==*p == a;
所以:**pp 和 a 是一模一样的。
总结
这部分内容要自己好好理解,自己推导一下公式,有些难度。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)