操作系统:Windows 10 IDE:Visual Studio 2019
文章目录- 1 函数的定义
- 2 函数的调用
- 3 值传递
- 4 函数的常见样式
- 5 函数的声明
- 6 函数的分文件编写
函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。 函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。 C 标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个位置。 函数还有很多叫法,比如方法、子例程或程序,等等。 ——https://www.runoob.com/cplusplus/c ±functions.html
1 函数的定义
函数的定义一般主要有5个步骤:
1、返回值类型
2、函数名
3、参数表列
4、函数体语句
5、return 表达式
语法:
代码语言:javascript复制返回值类型 函数名 (参数列表)
{
函数体语句
return表达式
}
- 返回值类型 :一个函数可以返回一个值。在函数定义中
- 函数名:给函数起个名称
- 参数列表:使用该函数时,传入的数据
- 函数体语句:花括号内的代码,函数内需要执行的语句
- return表达式: 和返回值类型挂钩,函数执行完后,返回相应的数据
2 函数的调用
函数的调用即:使用我们定义好的函数。
语法: 函数名(参数)
#include<iostream>
using namespace std;
//函数定义
int add(int num1, int num2) //定义中的num1,num2称为形式参数,简称形参
{
int sum = num1 num2;
return sum;
}
int main() {
int a = 1;
int b = 1;
//调用add函数
int sum = add(a, b);//调用时的a,b称为实际参数,简称实
cout << "sum = " << sum << endl;
system("pause");
return 0;
}
- 注意实参和形参的区别。
3 值传递
函数的值传递也就是在函数调用时,实参将值传递给形参。
值传递时,如果形参发生,并不会影响实参。
代码语言:javascript复制#include<iostream>
using namespace std;
void swap(int num1, int num2)
{
int temp = num1;
num1 = num2;
num2 = temp;
cout << "交换后:" << endl;
cout << "num1 = " << num1 << endl;
cout << "num2 = " << num2 << endl;
//return ; 当函数声明时候,不需要返回值,可以不写return
}
int main() {
int a = 10;
int b = 20;
swap(a, b);
cout << "main中的 a = " << a << endl;
cout << "main中的 b = " << b << endl;
system("pause");
return 0;
}
- 形参的值发生交换,不影响实参的值。
4 函数的常见样式
4中常见的函数样式
样式 | 代码示例 |
---|---|
无参无返 | void test01() |
有参无返 | void test02(int a) |
无参有返 | int test03() |
有参有返 | int test04(int a, int b) |
5 函数的声明
函数声明会告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。
- 当在一个源文件中定义函数且在另一个文件中调用函数时,函数声明是必需的。在这种情况下,应该在调用函数的文件顶部声明函数。
- 函数的声明可以多次,但是函数的定义只能有一次
函数声明:int max(int num1, int num2);
函数声明和函数定义的区别。
6 函数的分文件编写
函数的分文件编写主要作用是:让代码结构更加清晰。
函数分文件编写一般有4个步骤
- 创建后缀名为**.h**的头文件
- 创建后缀名为**.c **的源文件
- 在头文件中写函数的声明
- 在源文件中写函数的定义
示例:
代码语言:javascript复制//swap.h文件
#include<iostream>
using namespace std;
//实现两个数字交换的函数声明
void swap(int a, int b);
代码语言:javascript复制//swap.c 文件
#include "swap.h"
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
}
代码语言:javascript复制//main函数文件
#include "swap.h"
int main()
{
int a = 100;
int b = 200;
swap(a, b);
system("pause");
return 0;
}
—— END ——
Reference
- [1]:https://www.bilibili.com/video/BV1VJ411M7WR
如果以上内容有任何错误或者不准确的地方,欢迎在下面