P117指针的进阶(函数指针的应用,函数指针数组)#C语言的学习

文章介绍了C语言中两种有意思的指针表达式,包括使用(void(*)()0)())()的技巧和signal函数的类型拆解。同时,讲解了typedef如何对类型进行重命名,简化代码理解。此外,还展示了如何声明和使用函数指针数组,强调数组内必须存放相同类型的指针。
摘要由CSDN通过智能技术生成

一.两个有意思的指针

1.*(void(*)()0)())()
<c陷阱和缺陷>

2.void(*signal(int,void(*)(int)))(int)

此函数可以拆开成void(*)(int) signal(int,void(*)(int) 函数名函数类型的形式方便理解

类比于返回类型void signal()

二.typedef-对类型进行重定义

typedef void(*pfun_t)(int);//此时pfun_t等价于void(*)(int)

三.函数指针数组

int main(){

int (*pf1)(int,int)=add;

int(*pf2)(int,int)=sub;

int(*pf3[2])(int,int)={sub.add};//只能放同类型的指针

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值