c语⾔如何定义函数指针
//决定的函数的类型应该是:函数的返回值函数的参数列表
void func()
自定义函数怎么用c语言
{
  printf("hello world!");
}
//func函数名其实是代表函数的⼊⼝地址
//如何去定义⼀个指向函数的指针
int myfunc(int a,char b)
{
  printf("int myfunc(int a,char b) !\n");
  return 0;
}
void test01()
{
//1.定义函数类型,通过类型来定义函数指针
typedef int(FUN_TYPE)(int,char);
FUN_TYPE *pFunc = myfunc;
pFunc(10, 'a');
(*pFunc)(20, 'b');
myfunc(30,'c');
//2. 直接定义函数指针类型
typedef int(*FUNC_P)(int, char);
FUNC_P pFunc2 = myfunc;
pFunc2(20,'d');
函数指针指向同类型
pFunc2 = func;
3. 直接定义函数指针变量
int(*pFunc3)(int, char) = NULL;
pFunc3 = myfunc;
pFunc3(50,'p');
}
注:
所以
typedef int(FUN_TYPE)(int,char);
可以理解为:
1. int()(int,char); //定义了⼀个返回值为int,形参为int,char的函数类型,没有名字
3.FUN_TYPE  * pFunc  = myFunc;    //定义了⼀个FUN_TYPE* 类型的的指针变量pFunc,pFunc指向了函数myFunc
4.函数指针与被指向的函数返回值和形参必须⼀致

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。