本篇文章带 1. 数组传参和指针传参 2. 函数指针 3. 函数指针数组 的相关知识详细讲解!
如果您觉得文章不错,期待你的一键三连哦,你的鼓励是我创作动力的源泉,让我们一起加油,一起奔跑,让我们顶峰相见!!!
一.数组传参和指针传参
1.一维数组
一维数组的传参,形参部分可以是数组,也可以是指针;
如:
注意:虽然形参写成数组形式,但是实际上也是通过指针来实现的,只是语法上允许写成数组的形式;
2.二维数组
二维数组传参,形参的部分可以是数组,也可以是指针;
3.一级指针传参
思考:
当一个函数的参数部分为一级指针的时候,函数能接收什么参数?
可以传变量的地址,或则一级指针变量等;
注意:
当自定义函数的时候,要注意形参和实参类型是否能匹配上;
4.二级指针传参
思考:
当函数的参数为二级指针的时候,可以接收什么参数?
二.函数指针
1.函数指针的必备知识
数组指针--指向数组的指针
函数指针--指向函数的指针
我们先看看这段代码:
输出是:
结论:
函数名表示函数的地址;
&函数名也是表示首元素地址;
函数指针变量--存储函数地址的变量
首先,能给存储地址,就要求pfun1或者pfun2是指针,那哪个是指针?
答案是:
pfun1可以存放;pfun1先和*结合,说明pfun1是指针,指针指向的是一个函数,指向的函数无参
数,返回 值类型为void;
2.函数指针的使用
用例子演示:
运行结果:
三.函数指针数组
1.函数指针数组的介绍
数组是一个存放相同类型数据的存储空间
例如 int * arr[10]={0};
那要把函数的地址存到一个数组中,那这个数组就叫函数指针数组,那函数指针的数组如何定义呢?
答案是:
parr1 parr1 先和 [ ] 结合,说明 parr1是数组,数组的内容是什么呢?
是 int (*)() 类型的函数指针;
2.函数指针数组的使用:
运行结果:
本章完~