#include<iostream>
using namespace std;
// 函数指针的基础语法
void myfunc(int a) {
cout << "a = " << a << endl;
}
void myfunc(int a, int b) {
cout << "a = " << a << " b = " << b << endl;
}
//函数指针 基础语法
// 1. 声明一个函数类型
typedef void (myTypeFunc)(int a, int b);
// 2. 声明函数指针
typedef void (*myTypeFunc1)(int a, int b);
//3. 定义一个函数指针变量
void (*myTypeFunc2)(int a, int b);
int main() {
/*myTypeFunc *myf;
myf = myfunc;
myf(1, 2);*/
//myTypeFunc1 myf1;
//myf1 = myfunc;
//myf1(1, 2);
myTypeFunc2 = myfunc;
myTypeFunc2(1, 2);
system("pause");
}
c++中的函数指针与指针函数的区别:
我在区分这两个概念时,在中间分别加上“的”,它后面是主体内容,意思是:
“函数的指针”: 言外之意他是一个指针,标记函数的入口地址。
“指针的函数”: 即他是一个函数,返回值是一个指针。
》》重要是 清楚函数指针的概念,上面代码展示了函数指针的基本语法。
声明一个函数类型或者函数指针时,都需要用到 typedef 关键字。
当声明完后, 在使用上,我们可以将声明后的类型 就假想成int 等关键字。
我们可以用int a 来定义一个整型变量。 同样我们可以使用声明后的变量来定义对应的量, 道理实质上是一样的。