一、前言
指针的学习是比较难且复杂的知识,我得慢慢消化
二、函数指针
我们同时可以通过类比法学习
数组指针——是指向数组的指针
函数指针——是指向函数的指针
#include<stdio.h>
void Print(char* str)
{
printf("%s", str);
}
int main()
{
void (*p)(char*) = Print;
(*p)("hello bit");
return 0;
}
定义函数指针写法与我们的函数是紧密相连的
函数指针中的写法和数组指针的写法,其中操作符里面的数字和信息都是在交代数组或者函数里面的内容
说明:
例如上述函数指针中:“void(*p)(char*)”=Print;
这条语句中(char*)的存在,是为了区分我们数组指针,说明它是函数指针
注意:
&函数名和函数名都是函数的地址
三、函数参数之数组参数指针参数
3.1.1一维数组
一维数组传参,变量数组我们可以用数组接收,可以用一级指针接收
3.1.2二维数组
二维数组传参,函数可以将实参一摸一样的写下来,也可以采用省略的方法写,行可以省略但是列不能省略。
3.2.1一级指针
我们可以用同级的指针接收,也可以用高一级的指针接收
3.2.2二级指针
与一级指针同理
补充:
我们二级指针就是可以来存放一级指针的地址的
四、函数指针参数确定的几种可能实参结果
指针的阶级 | 可能的结果 |
---|---|
一级指针 | 变量的地址、存放地址的一级指针变量 |
二级指针 | 一级指针、二级指针本身、存放一级指针数组的数组名 |
五、结语
指针的内容多,希望能有耐心慢慢学
希望大家指出不足