指针与函数
指向函数的指针
用指针变量可以指向一个函数。函数在程序编译时被分配了一个入口地址。这个函数的入口地址就称为函数的指针。
函数指针的变量常用的用途之一是把指针作为参数传递到其他函数。指向函数的指针也可以作为参数,以实现函数地址的传递,这样就能够在被调用的函数中使用实参函数。
返回指针的函数
函数可以返回数值型、字符型、布尔型等数据,也可以带回指针型的数据叫做返回指针的函数。
定义形式为:
类型名 *函数名(参数列表);
例如下式表示的含义是:max函数调用后返回值的数据类型是字符指针。
int *max(int *x, int *y)
#include <stdio.h>
int max(int x, int y)
{
int z;
if (x>y)
z = x;
else
z = y;
return z;
}
int main()
{
int (*p)(int, int); //指向函数的指针
int a,b,c;
p = max; //指向函数的指针max函数
printf("输入a和b的值\n");
scanf("%d%d", &a, &b);
c = (*p)(a, b);
printf("%d和%d中较大的值是:%d\n", a, b, c);
getchar();
return 0;
}