一、概念:
函数指针:它是指针,或者说是变量。但是它不是通常的int、char、float指针类型的变量,而是指向函数(一般用于指向回调函数)的指针;
int (*p_test)(int arg0, int arg1); ——函数指针
指针函数:它是一种函数。只不过该函数的返回值是int、char、float等某一类型的指针。
int *test_sum(int arg0, int arg1); ——指针函数。
二、函数指针例子:
伪代码如下:
int (*p_test)(int arg0, int arg1); ——函数指针。
int *test_sum(int arg0, int arg1); ——指针函数。
int *test_sum(int arg0, int arg1){
return arg0 + arg1;
}
int main(int argc, char **argv){
int sum;
p_test = test_sum;
sum = p_test(2,3);
printf("sum is %d", sum);
}
附:指针概念
指针声明:
int *ip; /* 整型的指针 */
char *cp; /* 字符型的指针 */
float *fp; /* 浮点型的指针 */
double *dp; /* 双精度浮点型的指针 */
int value = 8; /*int型变量*/
ip = &value; /*ip指针指向value的地址*/
printf("ip的地址为 %p", ip); /*ip是指针,是内存地址*/
printf("*ip的变量为 %d", *ip); /*想要查看ip的变量值使用*ip*/