C语言中的函数指针与调试宏
1. 函数指针
在C语言里,函数本质上是指向程序中代码所在位置的指针。如同能创建指向结构体、字符串和数组的指针一样,也可以创建指向函数的指针。函数指针的主要用途是向其他函数传递回调函数,或者模拟类和对象。
1.1 函数指针的格式
函数指针的格式如下:
int (*POINTER_NAME)(int a, int b)
可以按以下步骤来记忆如何编写函数指针:
1. 编写一个普通的函数声明,例如: int callme(int a, int b)
2. 用指针语法包裹函数名,即: int (*callme)(int a, int b)
3. 将函数名改为指针名,如: int (*compare_cb)(int a, int b)
使用函数指针时,要记住指针的变量名是 compare_cb ,可以像使用函数一样使用它。这类似于指向数组的指针可以像所指向的数组一样使用。函数指针可以像所指向的函数一样使用,但名称不同。例如:
int (*tester)(int a, int b) = sorted_order;
printf("TEST: %d is same as %d\n", tester(2, 3), sorted_order(2, 3));
即使函数指针返回指向某个对
超级会员免费看
订阅专栏 解锁全文
813

被折叠的 条评论
为什么被折叠?



