函数指针
#include <stdio.h>
#include <stdlib.h>
void Func(int a) // 声明一个函数*/
{
printf("%d",a);
}
int main()
{
//函数指针:首先它是一个指针,指向add函数
void (*p) (int) = Func; // 将Func函数的首地址赋给函数指针变量p
(*p)(9); // 通过函数指针调用Func函数
printf("\n");
return 0;
}
typedef和函数指针结合的好处:
1.不需要长长的定义一个指针,只需要typedef起个别名后,定义一个变量就可以使用
#include <stdio.h>
#include <stdlib.h>
//把具有void (*)(int)特征的函数指针,定义其类型名为pName
typedef void(*pName)(int);
//为该类型定义一个变量
pName pFunc;
void Func(int a) // 声明一个函数*/
{
printf("%d",a);
}
int main()
{
pFunc = Func;
(*pFunc)(6);
printf("\n");
return 0;
}