Chinaunix首页 | 论坛 | 博客
  • 博客访问: 35018
  • 博文数量: 10
  • 博客积分: 187
  • 博客等级: 入伍新兵
  • 技术积分: 157
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-26 11:44
文章分类
文章存档

2012年(10)

我的朋友

分类: LINUX

2012-08-15 15:29:18

指针函数
  指针函数是指一个返回地址量的函数。
  通常一个函数都有返回值,如果一个函数没有返回值则该函数是一个无值型函数
 
 例子:
 
 /*指针函数*/
 #include
 #include
 char *mystring(void)
 {
  static char str[20];
  strcpy(str,"hello");
  return str;
 }
 void main()
 {
  printf("%s\n",mystring());
 }
 
函数指针
  函数指针是用来存放函数地址的指针,函数指针是一个函数的入口地址。
  当一个函数指针指向一个函数,就可以通过这个指针来调用该函数,可将函数作为参数传递给函数指针。
 
  例子:
 
/*函数指针*/
#include
#include
int test (int a,int b ,int(*pfunt)(int m,int n));
int plus(int a,int b);
int minus(int,int);
int main(void)
{
 int x=5,y=8;
 int (*pfunc)(int a,int b);      /*定义一个函数指针*/
 pfunc = plus;                   //函数指针指向一个函数的入口地址
 printf("%d\n",(*pfunc)(x,y));   //注意函数是如何解引用的
 pfunc = minus;                  //函数指针指向一个函数的入口地址
 printf("%d\n",(*pfunc)(x,y));
 printf("%d\n",test(15,5,plus));
 printf("%d\n",test(15,5,minus));
}
int plus(int a,int b)
{
 return(a+b);
}
int minus(int a,int b)
{
 return(a-b);
}
int test(int a,int b,int (*pfunt) (int m,int n))//函数指针作为参数进行传递
{
 return ((*pfunt)(a,b));
}
阅读(1549) | 评论(0) | 转发(5) |
给主人留下些什么吧!~~