//直接在函数中定义函数指针
#include <stdio.h>
int (*func1)(int, int);//定义指向函数func2的指针
int func2(int, int);
void func3(int (*)(int, int));
int main()
{
func1 = func2;
func3(func1);
return 0;
}
int func2(int tmp1, int tmp2)
{
return tmp1 - tmp2;
}
void func3(int (*func4)(int, int)) {
printf("%d\n", (*func4)(2, 3));
}
//使用typedef类型定义函数指针
#include <stdio.h>
typedef int (*func1)(int, int);
int func2(int, int);
void func3(func1);
int main()
{
func1 func4;
func4 = func2;
func3(func4);
return 0;
}
int func2(int tmp1, int tmp2)
{
return tmp1 - tmp2;
}
void func3(func1 func5) {
printf("%d\n", (*func5)(2, 3));
}