signal()返回值SIG_ERR的定义

signal函数的原型是void(*signal(intsignum,void(*handler))(int)))(int);返回的是一个void(*)(int)的函数指... signal函数的原型是void (*signal(int signum, void (*handler))(int)))(int);
返回的是一个void (*)(int)的函数指针
#define SIG_ERR (void (*)())-1
#define SIG_DFL (void (*)())0
#define SIG_IGN (void (*)())1
这个SIG_ERR是void(*)(),这里没有int呀
这里应该怎么理解呢?

signal返回的是一个返回值为void型且参数为int型的函数指针
而SIG_ERR是把1强制转换为void型没参数的函数指针

这样没影响吗?
展开
 我来答
lwj2464129
推荐于2016-05-15 · 超过17用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:30.7万
展开全部
没有影响。
1.无参表示可以有任意参数
2.只是将-1强制转换为一个指针,通过编译。就像#define NULL (void *)0。就将SIG_ERR理解函数指针常量
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式