当前位置:首页 > 问问

c 函数指针是什么意思 C语言中的函数指针是什么?

1、函数指针的定义和声明

函数指针就是一个指向函数的指针变量。在 C 语言中,它是一个在声明时要加上括号的标识符,它指向的是一个函数返回值的数据类型和参数的数据类型。简单来说,声明函数指针的方法是:先声明一个函数类型,然后在函数名前加上一个 * 号,再在函数类型和函数名之间加上一组括号。

例如:如果有函数 int add(int a, int b),那么声明它的函数指针的方法是 int (*pAdd)(int,int);

2、函数指针的使用

函数指针可以像一般的变量一样使用,可以在函数的参数中声明、作为返回值、也可以在代码中赋值和传递。

例如:定义一个函数指针变量,然后将它指向一个函数,通过调用函数指针来调用函数。

int (*pAdd)(int,int);   //定义函数指针变量

int add(int a, int b){

return a+b;

pAdd = add; //将函数指针指向函数

int result = pAdd(3, 5); //通过函数指针来调用函数

3、函数指针的作用

函数指针可以动态地指向不同的函数,可以让程序更加灵活地运行。

在回调函数中,也经常会用到函数指针。回调函数就是被另一个函数调用的函数,而这个调用者叫做回调(callback)。当回调函数被调用时,参数(函数指针)会传递给被调函数,被调函数会调用它,并执行回调函数。

4、函数指针与数组

将函数指针数组化,可以建立一个函数指针的数组,这样可以方便地使指针指向多个函数。

例如:

int add(int a, int b){

return a+b;

int sub(int a, int b){

return a-b;

int mul(int a, int b){

return a*b;

int (*pArray[3])(int,int); //定义函数指针数组

pArray[0] = add; //将函数指针数组指向不同的函数

pArray[1] = sub;

pArray[2] = mul;

int result = pArray[0](3, 5); //通过函数指针数组调用函数

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章