指针函数
指针函数是指一个返回地址量的函数。
通常一个函数都有返回值,如果一个函数没有返回值则该函数是一个无值型函数。
例子:
/*指针函数*/
#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));
}
阅读(286) | 评论(0) | 转发(0) |