📌  相关文章
📜  如何声明一个指向函数的指针?

📅  最后修改于: 2021-05-26 03:25:03             🧑  作者: Mango

好吧,我们假设您知道C中的指针是什么意思。那么,如何在C中创建一个指向整数的指针呢?
嗯..这很简单..

int * ptrInteger; /*We have put a * operator between int 
                    and ptrInteger to create a pointer.*/

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

那么,让我们首先看看..我们如何声明一个函数?例如,

int foo(int);

这里foo是一个函数,返回int和采取的int类型的一个参数。因此,正如一个逻辑上的人会想到的那样,通过在int和foo(int)之间放置一个*运算符,应创建一个指向函数的指针,即

int * foo(int);

但是Oops..C运算符优先级在这里也起作用。因此,在这种情况下, 运算符 ()将优先于运算符*。上面的声明将意味着–一个函数foo,它带有一个int类型的参数,并返回int *的返回值,即整数指针。因此,它做了一些我们不想做的事情。 🙁

因此,作为下一步的逻辑步骤,我们必须以某种方式将运算符*与foo绑定。为此,我们将使用()运算符更改C运算符的默认优先级。

int (*foo)(int);

就是这样。这里*运算符与foo一起使用,foo是一个函数名。它做了我们想要做的事情。

因此,这并不像我们早先想的那样困难!

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。