函数名做函数参数
2008年03月04日 23:40:00 crfoxzl
https://blog.youkuaiyun.com/crfoxzl/article/details/2147744
void (*func)(int) 知道这样定义这个函数什么意思么?
先解释void (*func)(int):
void func()->void func(int)->void *func(int)->void (*func)(int)
上面的图示能看明白吧?func是一个函数指针,它的返回类型为void,它所指向的函数接收一个int型的参数。若是写成void *func(int)则变成了:func是一个函数,它的返回类型是void 类型的指针,它接受一个int型参数。
所以void (*signal(int sinno,void(*func)(int)))(int)意思是:
signal是一个函数指针,它的返回类型是void,它接收一个int类型的参数;不过这个指针是另一个函数的返回值,它接收2个参数,第一个是int,第二个已经解释过了。

本文深入解析了函数指针的概念,特别是如何定义和使用接收整型参数并返回void类型的函数指针。通过对比不同类型的函数声明,帮助读者理解函数指针与普通函数之间的区别。
598

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



