二级指针、数组指针、二维数组、指针数组作为函数形参时可传入的实参
1、传参规则:
a.当二级指针作为函数形参时,能作为函数实参的是二级指针,指针数组,一级指针的地址
b.当数组指针作为函数形参时,能作为函数实参的是二维数组,数组指针
c.当二维数组作为函数形参时,能作为函数实参的是二维数组,数组指针
d.当指针数组作为函数形参时,能作为函数实参的是指针数组,二级指针,一级指针的地址
2、实例验证:
#include <stdio.h>
#include <stdlib.h>void fun1(int **pp)
{printf("fun1\n");
}
void fun2(int(*a_p)[5])
{printf("fun2\n");
}
void fun3(int t_d_a[][5])
{printf("fun3\n");
}
void fun4(int *p_a[5])
{printf("fun4\n");
}int main()
{int *p_a[5]; //指针数组int **pp = NULL; //二级指针int *p = NULL; //一级指针int t_d_a[5][5]; //二维数组int a[5]; //一维数组int(*a_p)[5] = &a; //数组指针fun1(p_a);fun1(pp);fun1(&p);//fun1(t_d_a);//fun1(a_p);printf("\n");//fun2(p_a);//fun2(pp);//fun2(&p);fun2(t_d_a);fun2(a_p);printf("\n");//fun3(p_a);//fun3(pp);//fun3(&p);fun3(t_d_a);fun3(a_p);printf("\n");fun4(p_a);fun4(pp);fun4(&p);//fun4(t_d_a);//fun4(a_p);printf("\n");system("pause");return 0;
}
以上代码我放开注释的任意一条语句,都会报错为形参与实参的类型不兼容。
PS:调试环境为vs2013
二级指针、数组指针、二维数组、指针数组作为函数形参时可传入的实参相关推荐
- java ArrayList 套数组,二维不等长数组
ArrayList 除了装填普通类型外,还能为数组类型.用法是: ArrayList<ArrayList<Double>> arr = new ArrayList<> ...
- [转载] pythonjson构建二维数组_python二维键值数组生成转json的例子
参考链接: python json 10: Datetime与json的相互转化 python二维键值数组生成转json的例子 今天出于需要,要将爬虫爬取的一些数据整理成二维数组,再编码成json字符 ...
- pythonjson构建二维数组_python二维键值数组生成转json的例子
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 【C 语言】二级指针作为输入 ( 二维数组 | 二维数组内存大小计算 | 指针跳转步长问题 )
文章目录 一.二维数组内存大小计算 二.二维数组内存大小意义 一.二维数组内存大小计算 给定一个二维数组 : 该 二维数组 中有 444 个 一维数组 , 每个一维数组有 101010 个 char ...
- 【C 语言】二级指针作为输入 ( 二维数组 | 二维数组遍历 | 二维数组排序 )
文章目录 一.二维数组 1.二维数组声明及初始化 2.二维数组遍历 3.二维数组排序 二.完整代码示例 一.二维数组 前几篇博客中 , 介绍的是指针数组 ; 指针数组 的 结构特征 是 , 数组中的每 ...
- linux c语言 malloc动态分配指针,C语言malloc函数为一维,二维,三维数组分配空间...
c语言允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必在程序的声明部分定义,也不必等到函数结束时才释放,而是需要时随时开辟,不需要时随时释放,这些数据存储在堆区.可以根据需要,向系统申请 ...
- 用指针来表示二维数组的方法
1.类型说明 int *b; //定义一个int型指针变量 int *p[3]; //定义一个int型指针数组的变量 int (*c)[3] 和 int (*)[3]: //定义一个指向 ...
- C语言学习之有一个3X4的二维数组,要求用指向元素的指针变量输出二维数组各元素的值
有一个3X4的二维数组,要求用指向元素的指针变量输出二维数组各元素的值. int main(){int a[3][4];int i,j,*p;//p是 int *型指针变量printf("请 ...
- 【C语言进阶深度学习记录】三十 二维数组与二维指针
文章目录 1 二维指针(指向指针的指针) 2 二维数组 3 二维数组的类型 3.2 如何动态申请二维数组 4 总结 1 二维指针(指向指针的指针) 指针的本质是变量 指针的指针是保存指针变量的地址.如 ...
最新文章
- Codeforces Round #645 (Div. 2)(AB)
- java添加锁_java – 如何在这种情况下添加锁?
- java执行命令行命令
- hj212协议如何和php通讯,5G/4G边缘计算网关如何实现HJ212协议上报
- mybatis工作笔记002_mybatis中如果返回的结果没有的话默认返回null的list_但可启用returnInstanceForEmptyRow_返回为list不为null但为0条
- python下使用pymongo操作mongodb
- macOS Monterey Finder 的新功能
- python mql4跟单_MT4本地跟单EA设置教程 -
- xp下固态硬盘测试软件,XP真的老矣?SSD实战XP/Win7/Win8系统
- Struts的增删改查
- 【云计算学习教程】软件(程序)是什么?
- 笔记本计算机摄像头怎么打开,笔记本都有摄像头吗_笔记本电脑摄像头怎么打开-win7之家...
- minitools在win10上安装失败
- 调用Android原生裁剪方式裁剪图片并保存
- 投票动态代理proxy案例(java)
- Unicode(ASII)控制字符的含义
- 从输入 URL 到浏览器接收的过程中发生了什么事情
- 杭州电子科技大学acm--2000
- 又一所“一流大学”北京航空航天大学和华为签约
- SDH系统实现PCM信号传输以及时分复用的simulink仿真
热门文章
- MaxCompute客户端在windows命令行下查询中文乱码怎么办?
- IDE 插件新版本发布,总有一个功能帮到你——开发部署提速 8 倍
- 干货!Redis集群工作原理解析
- 这 10 行比较字符串相等的代码给我整懵了,不信你也来看看
- 我们已经不用AOP做操作日志了! | 原力计划
- 多场景下的AI疫情防控“天网”:解读云边端联动下的全栈 AI 技术
- “云原生全家桶“KubeSphere 如何让企业从容迈进云原生时代?
- IT公司老板落水,各部门员工怎么救??
- 云计算之基,一文带你速懂虚拟化KVM和XEN
- 微服务精华问答 | 微服务如何测试?