`
ackerman
  • 浏览: 75448 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

函数返回函数指针

 
阅读更多

#include <stdio.h>

char *ops[3] = { "sum", "sub", "mul" };

int sum(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;
}

void show(int opnum)
{
        printf("Do the operation:%s\n", ops[opnum]);
}

int (*operation(int opnum, void (*fun) (int))) (int, int)
{
        fun(opnum);
        switch (opnum) {
        case 0:
                return sum;
                break;
        case 1:
                return sub;
                break;
        case 2:
                return mul;
                break;
        default:
                break;
        }

}

int main(int argc, char *argv[])
{
        int a = 33;
        int b = 17;
        printf("Here a=%d, b=%d\n", a, b);
        printf("\tThe result is :%d\n", operation(0, show) (a, b));
        printf("\tThe result is :%d\n", operation(1, show) (a, b));
        printf("\tThe result is :%d\n", operation(2, show) (a, b));
        
        return 0;
}
 
分享到:
评论

相关推荐

    c++ 函数指针和回调的使用

    例如,如果我们有一个返回类型为int,参数类型为int的函数`int add(int a, int b)`,我们可以定义一个对应的函数指针类型: ```cpp int (*funcPtr)(int, int); ``` 然后,我们可以将`add`函数的地址赋值给这个指针...

    指针函数和函数指针变量

    函数指针的声明需要包括函数的返回类型、参数列表以及函数名前的星号。例如: ```c void print_message(char *); void (*func_ptr)(char *) = print_message; // 声明并初始化一个函数指针变量 func_ptr("Hello"); ...

    函数指针和指针函数的区别

    在这个例子中,`createArray`就是一个返回指针的函数,而不是函数指针。 函数指针和指针函数的主要区别在于: 1. **用途**:函数指针用于动态调用函数,它允许我们在运行时决定调用哪个函数,增强了程序的灵活性。...

    详解函数指针和指针函数

    函数指针的定义包含了函数的返回类型和参数列表,以确保与所指向的函数匹配。 1. **函数指针定义**:函数指针的声明语法是`函数类型 (*指针变量名)(形参列表)`。这里的`函数类型`指函数的返回类型,`*指针变量名`是...

    C语言指针函数和函数指针详细介绍.

    C语言指针函数和函数指针详细介绍 C语言中指针函数和函数指针是两个不同的概念,但它们之间存在着紧密的联系。本文将对C语言中的指针函数和函数指针进行详细的介绍。 一、指针函数 指针函数是指返回值为指针的...

    函数指针和指针函数

    总结来说,函数指针和指针函数都是C语言中强大的工具,它们分别提供了动态调用函数的能力和返回内存地址的功能,使得代码更加灵活和高效。在实际编程中,理解并熟练运用这两种概念对于编写复杂系统或优化代码结构至...

    函数指针和指针函数,const的用法,指针常量,常量指针的用法

    ### 函数指针和指针函数的区分及应用 #### 函数指针的理解与使用 **函数指针**是一种特殊的指针类型,它可以用来存储函数的地址,进而通过该指针来调用函数。理解函数指针的关键在于认识到函数也是一种具有特定...

    彻底理解指针,指针数组和数组指针,指针函数和函数指针

    ### 彻底理解指针,指针数组和数组指针,指针函数和函数指针 #### 一、基础知识 在计算机编程中,指针是一个非常重要的概念,尤其是在C/C++这样的语言中更是如此。简单来说,指针是一种变量,但它存储的不是普通的...

    函数指针与指针函数应用程序

    // 定义一个返回整型的无参数函数指针类型 typedef int (*func_ptr)(); // 声明并初始化函数指针变量 func_ptr ptr = myFunction; ``` 在这里,`myFunction`是符合函数指针类型`func_ptr`的函数。通过`ptr`,我们...

    函数指针和指针函数的理解

    ### 函数指针与指针函数的理解 #### 一、函数指针与指针函数的基本概念 在C语言中,函数指针和指针函数是两个重要的概念,它们经常出现在较为复杂的程序设计中,尤其在回调函数、动态绑定等场景中发挥着重要作用。...

    一般函数指针和类的成员函数指针

    在这个例子中,`pFun`是一个函数指针类型,它可以指向任何接受两个整型参数并返回一个整型值的函数。接下来,可以通过将函数的地址赋值给该函数指针来使用它: ```cpp pFun fun = Max; int result = (*fun)(3, 4); ...

    C/C++ 函数指针的意义,函数指针的用法

    `,这实际上是定义了一个接受整型参数并返回整型指针的函数,而非函数指针。这种常见的错误强调了正确理解C/C++中运算符结合性和优先级的重要性。 #### 3. 函数指针的应用实例 函数指针最直观的应用之一是将其作为...

    函数指针和函数对象

    函数指针和函数对象 函数指针(全局函数/类成员函数)和函数对象是C++语言中两个重要的概念,经常被混淆和误解。本文将详细介绍函数指针和函数对象的定义、类型、使用方法和区别。 一、函数指针 函数指针是指向...

    C51 函数指针与再入函数

    `,其中 `void` 是函数的返回类型,`(*function_ptr)` 是函数指针的名称,`(void)` 是函数的参数列表。 在 C51 编程中,函数指针的使用需要注意以下几点: 1. 分配常量地址给一个指针:可以使用标准 C 语言的类型...

    C++ 一般(普通)函数指针、类成员函数指针,用法区别,以及强制转换

    一个函数指针变量可以存储任何函数的地址,只要这个函数具有匹配的参数类型和返回类型。定义一个函数指针的语法如下: ```cpp return_type (*pointer_name)(parameter_type1, parameter_type2, ...); ``` 例如,...

    c语言函数指针和指针函数.pdf

    函数指针的定义格式为:`返回类型 (*指针变量名)(参数列表)`,其中返回类型是函数的返回类型,指针变量名是函数指针的名称,参数列表是函数的参数列表。 函数指针的赋值可以通过将函数名赋值给函数指针变量来实现,...

    函数指针就是指向函数的指针;类成员方法指针,类具有类域操作符

    函数指针的定义通常包括函数的返回类型和参数列表。例如,一个返回类型为`void`,没有参数的函数指针可以这样定义: ```cpp void (*function_pointer)(); ``` 在这个例子中,`function_pointer`是一个指向无参数且...

    易语言简单类函数指针

    3. **取类函数指针的语法**:在易语言中,获取类函数指针通常涉及`__FUNCTION__`关键字,它会返回当前函数的指针,可以用于赋值给类函数指针变量。 4. **类函数的使用场景**:类函数指针在事件处理、异步操作、回调...

    指针函数和函数指针有什么区别.txt

    在这个例子中,`ptr`是一个函数指针,它可以指向任何返回`int`类型的函数。这里`ptr`被赋予了`max`函数的地址,因此可以通过`(*ptr)(a, b)`的方式来调用`max`函数,这相当于直接调用`max(a, b)`。 #### 三、总结 ...

    指向函数的指针运用

    压缩包中的`指向函数的指针.cpp`文件应该包含了上述所有代码的实现,而`指向函数的指针.exe`则是编译后的可执行程序,运行这个程序将演示如何通过函数指针调用和比较两个积分函数。 总结来说,这个示例展示了C++中...

Global site tag (gtag.js) - Google Analytics