【C语言】二级指针传参|指针的类型

举报
謓泽 发表于 2023/09/30 16:02:01 2023/09/30
【摘要】 【C语言】二级指针传参|指针的类型

💥 二级指针传参  

取出 &a 的地址,存放到指针变量 pa,pa 此时此刻就是一级指针变量。对于一级指针变量来说,取出 pa 的地址就要用个二级指针来进行存放 ppa。这个时候我们把二级指针传参到自定义函数当中,这样我们就把二级指针给进行传参。形参当中那么就需要用到二级指针来接收。

💥注意:二级指针是专门存放一级指针变量的地址的。

示例,如下代码所示 👇

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void print(int** ppa)
{
	*ppa = 20;
}
int main(void)
{
	int a = 0;
	int *p = &a;
	int **ppa = &p;
	print(ppa);
	printf("a = %d", p);
	printf("a = %d", a);//a是不会改变的
	return 0;
}

编译运行结果:p = 20

从上述结果可以得知,我们通过二级指针改变了原本整形指针 的结果。

🔥 指针的类型 

从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。

1、int *p; 指针的类型是 int*

2、char *p; 指针的类型是 char*

3、int **p; 指针的类型是 int**

4、int (*p)[2]; 指针的类型是 int(*)[2]

5、int *(*p)[4]; 指针的类型是 int*(*)[4]

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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