/** 指针函数,返回int* 指针变量*/int* add(int a, int b){ int *p; int c = a + b; p = &c; return p;}int main(){ int* p; p = add(1, 4); printf("%d/n", *p); getchar(); return 1;}
函数指针
函数指针是指向函数的指针变量。所以函数指针其实是指针变量,只不过该指针变量指向函数。
格式:
类型名 (*指针变量名) (函数参数列表)
函数指针的用途:
a.调用函数
b.做函数的参数
调用函数使用:
/** 函数指针,调用函数*/int fun1(int a, int b){ return a + b;}int main(){ int(*p)(int, int); p = fun1; printf("%d/n", p(1, 5)); getchar(); return 1;}
函数参数使用:
/** 函数指针,最为参数*/int fun2(int a, int b){ return a + b;}int fun3(int a, int b, int(*f)(int, int)){ return f(a, b);}int main(){ printf("%d/n", fun3(1, 5, fun2)); getchar(); return 1;}