当前位置:酷百书>百科问答>如何定义一个指向函数的指针数组

如何定义一个指向函数的指针数组

2023-03-28 14:50:30 编辑:join 浏览量:601

如何定义一个指向函数的指针数组

如何定义一个指向函数的指针数组

这个用typedef可以完成:

先定义一个函数指针的类型:typedef void (*pFUN)();

然后用这个类型pFUN定义一个数组

pFUN ptr[5];//[]里的数字是数组元素的个数,依情况而定:这儿用5做例子

这样ptr就是一个指向函数指针的数组。

对于“把一个指针强制定义”这我还没听过这个说法,只听过把指针强制转换成某个类型的指针:

强制类型转换用()运算,仍然用上面的定义类型。

例如:

void *p;//p是一个void指针

pFUN ptr;//ptr是一个指向void函数的指针

ptr=(pFUN)p;//把p强制转换成指向void函数的指针,然后就可以把它赋值给ptr指针。

不用typedef也可以,只要合并就可以了:

void (*ptr[5])();//这样ptr就是一个函数指针数组了.这样看很费解的!不如用typedef。

对于强制类型转换最好还是用typedef,那样可读性好。

而且个人认为指针没有那种基本类型(指向函数的指针类型),那是一种新的类型。所以要先定义那种类型才行。

用typedef定义新类型又没有什么副作用,而且容易读懂,何必非要不用typedef呢?!没必要把简单的问题复杂化!!

程序代码的可读性是很重要的,写复杂的类型而不用typedef是很令人反感的!

标签:指针,数组,指向

版权声明:文章由 酷百书 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.kubaishu.com/answer/185205.html
热门文章