学习笔记
《深入理解C指针》
http://www.ituring.com.cn/book/1147
第3章 指针与函数
本文内容
1、声明函数指针
2、使用函数指针
3、传递函数指针
4、返回函数指针
5、使用函数指针
6、比较函数指针
函数指针
1、声明函数指针
- 函数指针:传入
double
,返回int
,函数指针名为fptr_1
,括号不可省略
int (* fptr_1) ( double ) ;
- 对比,返回指针的函数,返回
int *
int * f2( ) ;
2、使用函数指针
-
int (*fptr1) (int);
fptr1 = square;
只要传入的是int
,同时满足,返回的也是int
的函数,就可以把函数名赋值给函数指针
- 声明成类型(即以后就当成类型来用,即类型名可以放哪里就在哪里放)
typedef int (*funcptr)(int);
funcptr fptr2;
fptr2 = square;
printf("%d squared is %d\n",n, fptr2(n));
typedef int (*funcptr)(int);
3、传递函数指针
传递函数指针
printf("%d\n",compute(add,5,6));
printf("%d\n",compute(subtract,5,6));
4、返回函数指针
返回函数指针5、使用函数指针
fptrOperation operations[128] = { NULL };6、比较函数指针
- 可以对函数指针使用
==
和!=
参考资料
[习题18]C语言 回调函数:指向函数的指针 int (*POINTER_NAME) = (int a ,int b);
https://www.jianshu.com/p/a63b9575c86a
网友评论