c语言函数指针的用法和例子
程序员文章站
2022-07-01 19:07:02
1.基本定义
函数指针的定义形式:返回类型(*函数指针名称)(参数类型,参数类型,参数类型,…);
c++函数指针的定义形式:返回类型(类名称::*函数成员名称)(参数类型,参数类型,...
1.基本定义
函数指针的定义形式:返回类型(*函数指针名称)(参数类型,参数类型,参数类型,…);
c++函数指针的定义形式:返回类型(类名称::*函数成员名称)(参数类型,参数类型,参数类型,….);
2.函数指针使用举例
2.1 c 函数指针使用举例
#include #include int fun1() { printf("this is fun1 call\n"); return 1; } void fun2(int k, char c) { printf("this is fun2 call:%d %c\n", k, c); } int main() { int (*pfun1)() = null; void (*pfun2)(int, char) = null; int a,b; pfun1 = fun1; //第一种赋值方法 a = pfun1(); //第一种调用方法(推荐) printf("%d\n",a); b = (*pfun1)();//第二种调用方法 printf("%d\n",b); pfun2 = &fun2;//第二种赋值方法(推荐,因为和其他数据指针赋值方法一致) pfun2(1,'a'); (*pfun2)(2,'b'); return 0; }
2.2 cxx(c + +) 函数指针使用举例
#include using namespace std; class test { public: test() { cout<<"constructor"<3.函数指针作为函数参数 c#include #include void fun(int k, char c) { printf("this is fun2 call:%d %c\n", k, c); } void fun1(void (*pfun)(int, char), int a, char c) { pfun(a, c); } int main() { fun1(fun, 1, 'a'); return 0; } // c++ 的形式差不多4. 函数指针作为函数返回值
4.1 样本 c
// c 形式 #include #include void fun(int k, char c) { printf("this is fun2 call:%d %c\n", k, c); } //fun1 函数的参数为double,返回值为函数指针 void (*) (int, char) void (*fun1(double d))(int, char) { printf("%f\n",d); return fun; } int main() { void (*p)(int, char) = fun1(3.33); p(1, 'a'); return 0; }4.2 样本 cxx(c + +)
//c++ 形式 #include using namespace std; class test { public: int fun(int a, char c) { cout<<"this is fun call:"<;>
上一篇: c++包含min函数的栈(代码实例)