C中如何声明指向函数的指针?


本文摘自PHP中文网,作者青灯夜游,侵删。

在C中,与普通数据指针(int *,char *等)一样,还可以声明指向函数的指针,即函数指针。那么如何声明?下面本篇文章就来带大家了解一下声明函数指针的方法,希望对大家有所帮助。【视频教程推荐:C语言教程】

如何声明指向函数的指针?

首先我们了解一下如何在C中创建一个指向整数的指针?

1

int * ptrInteger; / *我们在int和ptrInteger之间放置了一个*运算符来创建指针。* /

这里的ptrInteger就是一个指向整数的指针。如果可以理解这一点,那么从逻辑上讲,我们在声明指向函数的指针时应该没有任何问题了。

接下来让我们来看看如何声明一个函数?例如:

1

int foo(int);

这里的foo就是一个返回并接受一个int类型参数的函数。因此,逻辑上会被认为,只要在int和foo(int)之间放置一个*运算符就应该创建一个指向函数的指针,即:

1

int * foo(int);

但,这是不对的;因为,c运算符优先级在这里也起作用,运算符()将优先于运算符*。上面的声明意味着:一个函数foo,其中一个参数为int类型,返回值为int *即整数指针;这不是我们想要的,所以我们还需要考虑c运算符优先级。

因此,我们必须以某种方式将*运算符与foo绑定。为此,我们将使用()运算符来更改C运算符的默认优先级。例:

1

int (*foo)(int);

*运算符与foo一起使用,而foo是函数名,这样就声明来一个指向函数的指针了。

阅读剩余部分

相关阅读 >>

C语言中continue作用是什么?

C语言数组怎么输入?

C语言中输出字符串用什么符号

C语言fopen打开文件失败的原因是什么?

C语言中除号用什么表示

新手程序员应该知道的C语言和c++的区别

C语言函数由哪两部分组成

C语言源程序的最小单位是什么

C语言中用于结构化程序设计的三种基本结构是什么

C语言fopen打开文件失败怎么办

更多相关阅读请进入《C语言》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...