好吧,我们假设您知道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基础课程》。