函数指针和指针函数
-
函数指针
-
使用函数指针可以定义一个指向某种类型函数的指针,常用与指向回调方法和监听方法
-
/* * 定义一个函数指针,类型名为p,只能指向返回值为int,形参为两个int的函数 */ typedef int(*p)(int,int); int max(int a, int b){ return a>b ? a : b; } int main(){ p f_max; f_max = max; return f_max(1,3); // 返回1,3中最大值 }
-
-
指针函数
-
返回值是指针的函数
-
//这是一个形参为两个int类型,返回值是int型指针的函数 int *p(int,int); /* * 指针函数的定义 * 返回值是指针类型int * */ int *f(int a, int b) { int *p = (int *)malloc(sizeof(int)); memset(p, 0, sizeof(int)); *p = a + b; return p; } int main(){ int *p1 = NULL; p1 = f(1, 2); }
-