手把手教你c++函数指针

2025-11-19 18:54:51

1、鼠标双击或者右击打开桌面上DEVc++软件,让其运行起来。Dev-C++是一个电脑Windows窗口运行环境下的一款非常适合于刚开始学习c++学者使用的入门级C/C++ 集成开发环境(IDE)。这款软件很自由,遵守GPL许可协议分发源代码。它大大集成了MinGW中的GCC编译器、GDB调试器和 AStyle格式整理器等众多自由软件。非常的试用,而且界面分类清楚,具有很强大的功能。

手把手教你c++函数指针

2、点开文件,选择新建源代码,这时候新建的代码文本还是没有命名的,是一个空命名的文件,下面我们可以通过界面左上角的文件选项,选择另存为,可以存在电脑里任何一个盘,小编为了下次可以更好的找到文件,我存在电脑的桌面上。当然你们可以选择任何一个盘,根据各人所需

手把手教你c++函数指针

3、函数指针基础:

1. 获取函数的地址

2. 声明一个函数指针

3.使用函数指针来调用函数

获取函数指针:

函数的地址就是函数名,要将函数作为参数进行传递,必须传递函数名。

声明函数指针:

声明指针时,必须指定指针指向的数据类型,同样,声明指向函数的指针时,必须指定指针指向的函数类型,这意味着声明应当指定函数的返回类型以及函数的参数列表。

手把手教你c++函数指针

4、在C语言中,函数本身不是变量,但可以定义 指向函数的指针,这种指针可以被赋值、存放 于数组之中,传递给函数及作为函数的返回值

 返回值类型 (*函数指针名)(参数表);

 例1:

int square(int);

int (*f)(int)=square;

 例2:

void f1(int); void f2(int); void f3(int);

void (*f[3])(int)={f1,f2,f3};

手把手教你c++函数指针

5、函数指针的使用

#include <stdio.h>

int square(int x){printf("0 %d\n",x);return 0;}; int (*f)(int)=square;

void f1(int x){printf("1 %d\n",x);};

void f2(int x){printf("2 %d\n",x);};

void f3(int x){printf("3 %d\n",x);};

void (*fp[3])(int)={f1,f2,f3}; void main(){

(*f)(0);

(*fp[0])(1);

(*fp[1])(2);

(*fp[2])(3);

}

手把手教你c++函数指针

6、函数指针作为参数传递

int sum(int a,int b,int (*term)(int)){ if(a>b) return 0;

return (*term)(a) + sum(a+1,b,(*term));

}

int term(int a){ return a ;

}

void main(){

cout << sum(69, 90, term) << endl; int s=0;

for(int i=69;i<=90;i++) s += i ; cout << s << endl;

}

手把手教你c++函数指针

7、实例:

int sum(int a,int b,int (*term)(int)){ if(a>b) return 0;

return (*term)(a) + sum(a+1,b,(*term));

}

int cube_term(int a){ return a*a*a;

}

void main(){

cout << sum(1,3,cube_term) << endl; cout << 1*1*1+2*2*2+3*3*3 << endl;

}

手把手教你c++函数指针

8、是不是很简单,对待c++要勤加练习,熟能生巧,做好笔记,及时温故知新,这样才能学好

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢