C语言–备忘
C - 函数指针+多级指针
一、C 函数指针
1. 声明:
// 形式一:对函数指针取别名叫做 pfunc_t
typedef int (*pfunc_t) (int a,int b);
// 形式二:函数指针 pfunc 就是一种数据类型
int (*pfunc) (int a,int b);
2. 定义初始化:
// 定义:pfunc就是一个函数指针变量,将来保存函数的地址
pfunc_t pfunc;
// 初始化:初始化函数指针变量,指向add函数
pfunc_t pfunc=add;
3. 回调:
- 回调函数:一个函数可以当成一个参数传递给其他函数 ,这个函数的 参数 必须是函数指针,但是函数的参数必须是函数指针来保存回调函数的地址(add);
typedef int (*pfunc_t)(int a,int b);//pfunc_t就是函数指针
int add(int a, int b){
return a+b;}
int sub(int a, int b){
return a-b;}
int mul(int a, int b){
return a*b;}
int div(int a, int b){
return a/b;}
int main(void)
{
pfunc_t func_all[]={
add