C语言_函数指针

函数指针是指向函数的指针变量本质是一个指针变量。

 

1: 函数指针的定义

    int (*f) (int x);   /*声明一个函数指针.该函数有一个整形输入参数,一个整形输出参数 */
   f = func;        /* 将func函数的首地址赋给指针f. func函数应该与函数指针f的输出输出参数一致*/

注意:

  • (*f) 外面的括号必须加上.
  • int (*f) (int x); 定义的是函数指针
  • int *f (int x);    这个是函数声明, 该函数返回参数为一个整形变量的指针, 输入参数为一个整形变量

 

无返回值函数指针的定义

void (*fptr)(void);

 

2: 函数指针的赋值

把函数的地址赋值给函数指针,可以采用下面两种形式:

fptr=&Function;
fptr=Function;

取地址运算符&不是必需的,因为单单一个函数标识符就标号表示了它的地址.

 

3: 函数指针的调用
函数指针调用必须在后面加小括号. 可以采用如下两种方式来通过指针调用函数:

第二种格式看上去和函数调用无异。但是有些程序员倾向于使用第一种格式,因为它明确指出是通过指针而非函数名来调用函数的。

x=(*fptr)();
x=fptr();

 

4: 下面举一个例子:

 

posted @ 2021-02-04 22:15  Jason__Zou  阅读(180)  评论(0)    收藏  举报