摘要:
函数指针作用一般有二:1 调用函数 2 作为参数。 需要注意的是typedef这种是定义了 一种函数指针的类型(特定的参数类型和返回值)
代码示例如下,
int func1(int x){
return x;
}
int func2(int x){
cout<<"we are in func2"<<endl;
return 2;
}
//函数名做参数,隐式的使用函数指针
int f(int p(int t),int x){
int c=p(x);
cout<<c<<endl;
return 0;
}
//定义函数指针类型,注意这个一个类型
//typedef int (*func3) (int x);
//显式使用函数指针
int f2(int (*func3)(int ),int x){
func3(x);
cout<<"we are in f2"<<endl;
return 0;
}
int main(){
//函数名直接做参数,因为函数名是指针,本质上也是函数指针做参数
f(func1,5);
f(func2,5);
//声明一个函数指针,调用函数使用
int (*ff) (int x);
ff=func1;
cout<<ff(7);
//函数指针作为参数
f2(func2,5);
return 0;
}
运行结果:
[algo@localhost cpp-learning]$ ./a.out
5
we are in func2
2
7we are in func2
we are in f2
本文介绍了函数指针的基本概念及其在C++中的应用。通过具体的代码示例,展示了如何定义和使用函数指针,并且说明了函数指针可以作为参数传递给其他函数。此外,还涉及了如何使用typedef来定义函数指针类型。
288

被折叠的 条评论
为什么被折叠?



