总览
主要讲了 c++ 中函数的声明、调用以及传递方式等
什么是函数?
- 将一段经常使用的代码封装起来,减少重复代码
- 一个较大的程序,通常分为若干模块,每个模块实现特定的功能
定义
#include <iostream>
using namespace std;
// 返回值类型 函数名(参数列表)
int add(int a, int b) {
// 函数体语句
int c = a + b;
// return 表达式
return c;
}
int main() {
cout << add(1, 2) << endl;
return 0;
}
值传递
这里很关键的一点在于 c++ 是值传递,也就是实参的值复制一份给了形参,形参的改变不会影响到实参
学到这里起码是这样的,后续涉及到对象和指针的时候不确定又不会有所不同
但是 Java 里也是值传递,但是传递的是对象地址的值,形参和实参会指向同一块内存空间,所以形参的修改会影响到实参
函数的声明
作用:告诉编译器函数的名称以及如何调用函数,函数的实际主体可以单独定义。
- 函数的声明可以有多次,但是函数的定义只能有一次
#include <iostream>
using namespace std;
// 如果不声明,add 放到调用后是不可以的
// 声明就是告诉编译器,我这个函数是存在的,可以调用
int add(int a, int b);
int main() {
cout << add(1, 2) << endl;
return 0;
}
// 返回值类型 函数名(参数列表)
int add(int a, int b) {
// 函数体语句
int c = a + b;
// return 表达式
return c;
}
函数的分文件编写
作用:随着代码量的增大,我们不可能在一个文件里的非常多的代码,这样可读性非常差,需要份文件让代码结构更加清晰
步骤一:创建后缀名为 .h 的头文件
步骤二:创建后缀名为 .cpp 的源文件
步骤三:在头文件中进行函数声明
步骤四:在源文件中书写函数定义
调用
在调用函数的文件中引入函数头,直接调用即可