导入
什么是函数?
本课程将定义函数是什么以及为什么要使用它们。
一个简单的例子
考虑下面这段代码,它计算数组中所有整数的和:
1#include <iostream> 2using namespace std; 3 4int main() { 5 int arr1[] = {40, 60, 20, 15, 50, 90}; 6 int size = sizeof(arr1)/sizeof(arr1[0]); // 计算数组长度 7 int sum = 0; 8 for(int i = 0; i < size; i++){ // 使用 for 循环遍历数组并累加每个元素 9 sum += arr1[i]; 10 } 11 cout << "arr1 的和为: " << sum << endl; 12 13 int arr2[] = {2, 4, 6, 8, 10}; 14 size = sizeof(arr2)/sizeof(arr2[0]); 15 sum = 0; 16 for(int i = 0; i < size; i++){ // 使用 for 循环遍历数组并累加每个元素 17 sum += arr2[i]; 18 } 19 cout << "arr2 的和为: " << sum << endl; 20 21 int arr3[] = {18, 40, 9, 17, 36}; 22 size = sizeof(arr3)/sizeof(arr3[0]); 23 sum = 0; 24 for(int i = 0; i < size; i++){ // 使用 for 循环遍历数组并累加每个元素 25 sum += arr3[i]; 26 } 27 cout << "arr3 的和为: " << sum << endl; 28 29}
我们可以立刻发现,计算数组元素和的代码非常重复。每次都要写一个 for 循环来遍历数组。总体来看,代码显得不够简洁。
如果有一种快捷方式,能用一条命令就计算出数组的和,那该多好?比如像这样:
1int main() { 2 int arr1[] = {40, 60, 20, 15, 50, 90}; 3 int size = sizeof(arr1)/sizeof(arr1[0]); 4 int sum = sumArray(arr1, size); 5 cout << "arr1 的和为: " << sum << endl; 6 7 int arr2[] = {2, 4, 6, 8, 10}; 8 size = sizeof(arr2)/sizeof(arr2[0]); 9 sum = sumArray(arr2, size); 10 cout << "arr2 的和为: " << sum << endl; 11 12 int arr3[] = {18, 40, 9, 17, 36}; 13 size = sizeof(arr3)/sizeof(arr3[0]); 14 sum = sumArray(arr3, size); 15 cout << "arr3 的和为: " << sum << endl; 16 17}
这样看起来清晰多了!sumArray 这个命令神秘地返回了数组的和。sumArray 就是一个 函数 的例子。
函数的定义
函数是一组在程序中执行特定操作的语句。
在上面的例子中,我们的函数 sumArray 负责处理那个用于累加数组每个元素的 for 循环。
为什么使用函数?
在上面的例子中,我们不需要一遍又一遍地重复编写求和的代码。函数会自动完成这项工作。这就是 C++ 中函数的魅力所在!
函数能节省大量时间,让代码更加整洁。它们就像是我们反复需要编写的代码的模板。这正是我们使用函数的主要原因。