一、函数指针
函数指针在C语言中的作用类似于c++中的多态,都是可以实现框架的搭建,代码的兼容性高。
函数三要素:名称、参数、返回值
C语言可以通过typedef为函数类型重命名,语法 typedef 返回值类型(类型名称)(参数列表);如下代码所示:
#include<iostream>
using namespace std;
int func(int a, int b)
{
return a + b;
}
int main()
{
//函数指针类型定义的第一种方式 : 声明一个 函数类型
typedef int(Func1)(int, int);
Func1 *hello1= func;
cout << hello1(7, 8) << endl;
//函数指针类型定义的第二种方式 : 声明一个函数指针类型
typedef int(*Func2)(int, int);
Func2 hello2 = func;
cout << hello2(7, 8) << endl;
//函数指针定义的第三种方式 : 定义一个指向函数入口地址的函数指针
int(*Func3)(int a, int b);
Func3 = func;
cout << Func3(7, 8) << endl;
system("pause");
return 0;
}
二、函数指针的本质
对于编译器来讲,数据类型的本质就是,不同大小的内存块的别名