目录
1.1函数的定义:返回值类型、函数名、参数表列、函数体语句、return表达式
1、函数
将一段常用的代码封装起来,减少重复代码
1.1函数的定义:返回值类型、函数名、参数表列、函数体语句、return表达式
1.2函数的语法:
返回值类型 函数名(参数表列){
函数体语句
return表达式
}
例:
//两个数相加的函数
//返回值类型应该是一个数,
//函数名可自己命名,例如add
//参数应该是,两个数字,num1,num2
//函数体语句为求两数相加:int sum = num1+num2;
//return返回值是一个数
int add(int num1, int num2) {
int sum = num1 + num2;
return sum;
}
1.3 函数的调用:函数名 (参数)
int a = 10;
int b = 20;
//调用上述的add函数
//函数名 (参数)
//当调用函数时,实参的值会传递给形参
//a和b称为实参(实际参数)
add(a, b);
//函数add返回的是一个值,故可以直接打印结果
cout<< add(a, b)<<endl;
1.4 值传递
函数调用时实参将数值传入给形参
值传递时,形参发生任何改变,并不会影响实参
例:2个数字交换,内存的大致情况(创建变量时,会分配一个内存):值传递时,只是num1和num2的数据值交换,a和b不变。
数据 |
|
a |
10 |
b |
20 |
num1 |
|
num2 |
|
temp |
10 |
1.5常见的函数样式
无参无返、有参无返、无参有返、有参有返
1.6函数的声明
告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。
函数的声明可以多次,但是函数的定义只能有一次。
函数声明之后,定义该函数可以在main()函数之后。
补充:变量
定义 VS 声明
变量定义要给变量分配内存空间,而声明没有;定义可以初始化,声明不能。
声明: extern <类型名> <变量名>;
头文件中使用extern语句对一个文件中的全局函数进行声明;
函数使用一个全局变量但是还未见到其定义时使用extern语句对其进行声明。
1.7函数的分文件编写
让代码结构更加清晰
- 创建后缀名为.h的头文件
- 创建后缀名为.cpp的源文件