关于指针函数和函数指针的探究
指针函数和函数指针
指针函数:指针的函数,指针是修饰词,就是一个返回指针的函数。
类型:int* f(int a, int b);
函数指针:函数的指针,函数是修饰词,就是一个指向函数的指针。
类型:int (*f)(int a,int b);
程序示例
指针函数示例:
[cpp]
#include <stdio.h>
int* f(int a,int b)
{
int *p;
p = (int *)malloc(sizeof(int));
printf(“p address is 0x%x\n”,p);
*p = a + b;
return p;//指针函数,即:返回指针的函数
}
int main()
{
int *q = NULL;
q = f(2,6);
printf(“q address is 0x%x\n”,q);
printf(“*q = %d\n”,*q);
return 0;
}
[/cpp]
运行结果:
函数指针示例:
[cpp]
#include <stdio.h>
int max(int a,int b)
{
return a > b ? a : b;
}
int min(int a,int b)
{
return a < b ? a : b;
}
int main()
{
int value;
int (*f)(int,int);//函数指针,即:指向函数的指针
f = max;
value = (*f)(2,3);
printf(“max value is %d,address is 0x%x\n”,value,f);
f = min;
value = (*f)(2,3);
printf(“min value is %d,address is 0x%x\n”,value,f);
return 0;
}
[/cpp]
运行结果: