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: 下面举一个例子:


浙公网安备 33010602011771号