c语言之函数指针应用

mac2022-06-30  77

c语言之函数指针应用

1、函数指针与指针函数

  在开始运用函数指针前,我们需要将两个概念即:函数指针与指针函数搞清楚。

函数指针,指明这个一个函数,但返回值为指针类型,语法格式为:

    类型名* 函数名A(参数列表);

调用他时,我们可以使用

    类型名* 变量名 = 函数名A(参数列表);

指针函数,指明这是一个指针,但用指针指向一个函数,语法格式为:

    类型名 (*函数名fun)(参数列表);

 

调用他时,我们可以使用

 例如存在一个函数

              类型名 函数名B(参数列表);

              我们可以使用

第一种用法

             fun=&B;

              (*fun)(参数列表); 

第二种用法

    fun=B;

    (*fun)(参数列表);

这两个语句来调用函数B。这样看用指针函数代码还多了,但在大型程序中,如果函数A与函数B的参数类型,返回值类型都相同的情况下,就可以统一利用指针函数fun来调用,编写整洁的代码。

2、代码例子

#include<stdio.h> int add(int a, int b) { return a+b; } int sub(int a, int b) { return a-b; } typedef int (*fun)(int a, int b); fun globalFun[2]= { [0] = add, [1] = sub, }; int main() { int first = 5; int second = 10; printf("%d\n", globalFun[0](first, second)); printf("%d\n", globalFun[1](first, second)); return 0; }

  

 

转载于:https://www.cnblogs.com/grglym/p/11493891.html

最新回复(0)