关于指针函数和函数指针的探究

关于指针函数和函数指针的探究

指针函数和函数指针

指针函数:指针的函数,指针是修饰词,就是一个返回指针的函数。

类型: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]

运行结果:

func

函数指针示例:

[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]

运行结果:

point