龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

学点 C 语言(38): 函数 - 函数指针

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
先复习函数的定义与函数的声明: //这是一个求和函数的定义: int add(int x, int y) { return(x + y); } //可以这样声明: int add(int x, int y); //也可以这样声明: int add(int, int); 定义一个函数指针声明一

  先复习函数的定义与函数的声明:

//这是一个求和函数的定义:

int add(int x, int y)

{

  return(x + y);

}

//可以这样声明:

int add(int x, int y);

//也可以这样声明:

int add(int, int);

  定义一个函数指针声明一个函数差不多, 用 (* ) 包括函数即可:

//像这样:

int (*pfun)(int, int);

//或这样:

int (*pfun)(int x, int y);

//也可以:

typedef int (*pfun)(int, int);

//这就声明了一个叫 pfun 的函数指针, 能被它指向的函数一定要有相同的参数格式.

  1. 简单例子:

#include 

int add(int x, int y) {return(x + y);}

int sub(int x, int y) {return(x - y);}

int mul(int x, int y) {return(x * y);}

int div(int x, int y) {return(x / y);}

int main(void)

{

  int (*pf)(int, int);

  pf = add;

  printf("%dn", pf(9, 3)); /* 12 */

  

  pf = sub;

  printf("%dn", pf(9, 3)); /* 6 */

  

  pf = mul;

  printf("%dn", pf(9, 3)); /* 27 */

  

  pf = div;

  printf("%dn", pf(9, 3)); /* 3 */

  

  getchar();

  return 0;

}

精彩图集

赞助商链接