- 浏览: 75082 次
- 性别:
- 来自: 北京
#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; }
发表评论
-
排序算法---计数排序
2011-11-27 14:57 602#include <stdio.h> vo ... -
排序算法---归并排序
2011-11-26 19:33 740#include <stdio.h> vo ... -
排序算法---交换排序(冒泡排序、快速排序)
2011-11-26 19:32 699#include <stdio.h> vo ... -
排序算法---选择排序(简单插入排序、堆排序)
2011-11-26 19:31 643#include <stdio.h> vo ... -
排序算法---插入排序(简单排序、shell排序)
2011-11-26 19:29 643#include <stdio.h> vo ... -
删除字符串中的特定字符和重复字符
2011-11-26 13:45 660#include <stdio.h> vo ... -
Linux编程-多线程、同步和互斥(转载)
2011-11-14 15:27 1204http://www.cnblogs.com/skynet/a ... -
寻找字符串中的最大数字子串
2011-09-22 17:17 1513#include <stdio.h> int f ... -
删除子字符串
2011-09-21 15:27 599#include <stdio.h> #incl ... -
c语言随机数
2011-09-18 17:15 682#include <stdio.h> #i ... -
带头结点有序单链表的合并
2011-09-08 14:21 1178typedef int Item; typedef s ... -
链表逆序的递归/非递归算法
2011-09-01 23:37 1404/** *链表逆序的递归/非递归算法 */ # ... -
递归算法---字符串---全/部分组合和全排列
2011-08-30 23:01 1216#include <stdio.h> #i ... -
递归算法---0-1背包问题(面试宝典)
2011-08-28 21:11 1892/** *正整数n,m,从数列1、2、3、...、n中随 ... -
递归算法---字符串全组合(面试宝典)
2011-08-28 17:24 1251/** *求一字符串所有字串的组合 */ #i ... -
递归算法---求解多元一次方程
2011-08-28 10:38 1893/** * 求解x1+x2+x3+...+x10 = ... -
(zz)关于类的sizeof
2011-08-27 18:16 564http://blog.sina.com.cn/s/blog_ ... -
(zz)结构体字节对齐原则
2011-08-27 17:53 1576结构体默认的字节对齐一般满足三个准则: 结构体变量的首 ... -
list.h from linux-2.4
2011-08-25 09:59 602#ifndef _LIST_H_ #define _L ... -
The C Programming Lang (K&R) hash table
2011-08-25 09:52 930hash.h #include <stdio.h ...
相关推荐
例如,如果我们有一个返回类型为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/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++中运算符结合性和优先级的重要性。 #### 3. 函数指针的应用实例 函数指针最直观的应用之一是将其作为...
函数指针和函数对象 函数指针(全局函数/类成员函数)和函数对象是C++语言中两个重要的概念,经常被混淆和误解。本文将详细介绍函数指针和函数对象的定义、类型、使用方法和区别。 一、函数指针 函数指针是指向...
`,其中 `void` 是函数的返回类型,`(*function_ptr)` 是函数指针的名称,`(void)` 是函数的参数列表。 在 C51 编程中,函数指针的使用需要注意以下几点: 1. 分配常量地址给一个指针:可以使用标准 C 语言的类型...
一个函数指针变量可以存储任何函数的地址,只要这个函数具有匹配的参数类型和返回类型。定义一个函数指针的语法如下: ```cpp return_type (*pointer_name)(parameter_type1, parameter_type2, ...); ``` 例如,...
函数指针的定义格式为:`返回类型 (*指针变量名)(参数列表)`,其中返回类型是函数的返回类型,指针变量名是函数指针的名称,参数列表是函数的参数列表。 函数指针的赋值可以通过将函数名赋值给函数指针变量来实现,...
函数指针的定义通常包括函数的返回类型和参数列表。例如,一个返回类型为`void`,没有参数的函数指针可以这样定义: ```cpp void (*function_pointer)(); ``` 在这个例子中,`function_pointer`是一个指向无参数且...
3. **取类函数指针的语法**:在易语言中,获取类函数指针通常涉及`__FUNCTION__`关键字,它会返回当前函数的指针,可以用于赋值给类函数指针变量。 4. **类函数的使用场景**:类函数指针在事件处理、异步操作、回调...
在这个例子中,`ptr`是一个函数指针,它可以指向任何返回`int`类型的函数。这里`ptr`被赋予了`max`函数的地址,因此可以通过`(*ptr)(a, b)`的方式来调用`max`函数,这相当于直接调用`max(a, b)`。 #### 三、总结 ...
压缩包中的`指向函数的指针.cpp`文件应该包含了上述所有代码的实现,而`指向函数的指针.exe`则是编译后的可执行程序,运行这个程序将演示如何通过函数指针调用和比较两个积分函数。 总结来说,这个示例展示了C++中...