定义:
程序运行期间,每个函数都会占用一段连续的内存空间。 函数名就是该函数所占内存区域的起始地址(也称“入口地址”)。 将函数的入口地址赋给一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以调用这个函数。这种指向函数的指针变量称为“函数指针”。
函数指针定义
一般形式为: 类型名 (* 指针变量名)(参数类型1, 参数类型2,…);
“类型名”表示被指函数的返回值的类型。 “(参数类型1, 参数类型2,……)”中则依次列出了被指函数的所有参数的类型。例如: int (*pf)(int ,char); //pf一定要加(),否则int *pf (int,char)就是函数声明了
表示pf是一个函数指针,它所指向的函数,返回值类型应是int,该函数应有两个参数,第一个是int 类型,第二个是char类型。
要通过函数指针调用它所指向的函数,写法为: 函数指针名(实参表);
#include <stdio.h>
void PrintMin(int a, int b)
{
if( a<b )
printf("%d",a);
else
printf("%d",b);
}
int main(){
void (* pf)(int ,int);
int x = 4, y = 5;
pf = PrintMin;
pf(x,y);
return 0;
}
/*
4
*/