关于c语言声明 void (*signal(int sig, void(*func)(int)))(int)

刚开始看到这个 很蛋疼

还是慢慢理解

首先

void(*func)(int) 是一个指针 指向一个 返回值为void 参数为int的函数

是一个函数指针

具体理解?url=5GpEN7wPUhDlk_m-3drRHV9bGxv53tj818vtd1GIsyaVfyY1mdsFZfP6_2M_DNAfTQrh0qxMo_wXhK1CjIEPJK

然后看外围的函数声明 是不是和里面有点类似

对的 里面函数 简写为void (*signal(xxx)) (int)和里面的函数声明一样 是一个无返回值 有一个int参数 返回的是一个函数指针 函数的类型为上面的类型所示

参考

中间部分 :signal( int sig, void (*func)(int))signal函数有2个参数,第一个是int,,第二个是无返回值,带一个int参数的函数指针

外围:void (*signal(xxx)) (int)signal函数返回的是一个函数指针,无返回值,有一个int参数

简化:typedef void Sigfunc(int)Sigfunc就代表的就是一个 返回值是一个无返回值,有一个int参数的函数。

最后就成了这样Sigfunc *signal(int, Sigfunc*)

中国开源

左右规则

与那些新人和旧人们共同经历吧!

关于c语言声明 void (*signal(int sig, void(*func)(int)))(int)

相关文章:

你感兴趣的文章:

标签云: