【C语言】二级指针 

举报
謓泽 发表于 2023/09/29 14:08:40 2023/09/29
【摘要】 【C语言】二级指针 

⚔ 二级指针 

如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。

	int a = 10;    //(1)
	int* pa = &a;  //(2)
	int** ppa = &pa;//(3)
	printf("%d %d %d\n", **ppa, *pa, a);//10 10 10

在第②行当中:pa 是指针变量,一级指针。它就只是仅有一层指向关系。pa 指针对象是整形,因为它存储的是地址&a。

在第③行当中:由于 pa 也是个变量,&pa 取出 pa 在内存当中的起始地址。ppa 首先是指针的话我需要写上 *ppa,ppa 指向的对象是 pa,pa 整体的类型叫做是 int* pa。所以,在这个 * 的前面,我还是需要写上int*。*ppa 是一个指针,而int*是我所指向的指针变量。于是就是 int** ppa,这种的话也被称之为是:二级指针。

说的明白一点就是:ppa 有两层指向关系,1:pa,2:a那么从这里我们不难发现 三级指针、四级指针、以及 N级指针 都是这样的关系。不过二级指针之后就很少用到了,所以大家只需要了解二级指针的概念即可。

关系图如下所示↓

说明:二级指针的知识点一般情况下都是很少用到的,但是如果你对指针比较感兴趣的话,可以研究下之类的,因为其中有些东西其实你只要学了一级指针的话,那么他们都是互通的实际上。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。