7、C语言中的函数指针与调试宏

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));

即使函数指针返回指向某个对

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值