C++ 函数的基本概念
函数是一段可重复调用的代码块,用于完成特定任务。通过函数可以将程序模块化,提高代码的可读性和复用性。
函数的定义
函数定义包括返回类型、函数名、参数列表和函数体。语法如下:
cpp
返回类型 函数名(参数列表) {
// 函数体
return 返回值; // 如果返回类型不是 void
}
函数的调用
通过函数名和实际参数调用函数:
cpp
函数名(实际参数);
主函数 main()
main() 是程序的入口函数,操作系统通过调用 main() 开始执行程序。其标准形式为:
cpp
int main() {
// 程序代码
return 0; // 表示程序正常结束
}
带参数的 main()
main() 也可以接受命令行参数:
cpp
int main(int argc, char* argv[]) {
// argc 表示参数个数
// argv 是参数数组
return 0;
}
函数示例
以下是一个完整示例,展示函数的定义、调用和 main() 的使用:
cpp
#include <iostream>
// 函数声明
int add(int a, int b);
int main() {
int result = add(5, 3); // 调用函数
std::cout << "5 + 3 = " << result << std::endl;
return 0;
}
// 函数定义
int add(int a, int b) {
return a + b;
}
函数参数传递方式
- 值传递:传递参数的副本
cpp
void func(int x) { x = 10; }
- 引用传递:直接操作原变量
cpp
void func(int &x) { x = 10; }
- 指针传递:通过指针操作原变量
cpp
void func(int *x) { *x = 10; }
函数重载
允许同名函数,只要参数列表不同:
cpp
int add(int a, int b);
double add(double a, double b);
内联函数
使用 inline 关键字建议编译器内联展开:
cpp
inline int max(int a, int b) {
return a > b ? a : b;
}
默认参数
可以为函数参数指定默认值:
cpp
void print(int x, int y = 10) {
std::cout << x << ", " << y << std::endl;
}
递归函数
函数调用自身:
cpp
int factorial(int n) {
return (n <= 1) ? 1 : n * factorial(n - 1);
}