一、函数的基本概念与分类
1. 核心作用
把重复执行的逻辑封装成独立模块,比如多次计算两数之和、打印菜单,无需重复写代码;同时降低程序复杂度,便于调试和维护。
2. 分类(按来源)
| 类型 | 说明 | 例子 |
|---|---|---|
| 库函数 | C 语言标准库自带,直接调用(需包含对应头文件) | printf()(输出)、scanf()(输入)、strlen()(求字符串长度) |
| 自定义函数 | 程序员根据需求自行定义的函数(重点) | 自己写的add(int a, int b)(求和) |
二、自定义函数的语法结构
完整的自定义函数包含「返回值类型 + 函数名 + 参数列表 + 函数体」,格式如下:
// 语法模板
返回值类型 函数名(参数类型1 参数名1, 参数类型2 参数名2, ...) {
// 函数体:实现功能的代码
执行逻辑;
return 返回值; // 非void类型必须有return
}
1.各部分解释
| 组成部分 | 说明 |
|---|---|
| 返回值类型 | 函数执行完后返回的数据类型:① 有返回值:int/float/char等;② 无返回值:用void(可省略 return) |
| 函数名 | 符合 C 语言命名规则(字母 / 数字 / 下划线,开头不能是数字),见名知意 |
| 参数列表 | 函数的「输入」,又称「形参」;无参数时写()或(void) |
| 函数体 | 花括号内的代码,是函数的核心逻辑 |
| return | ① 结束函数执行;② 给调用者返回数据(void 函数可只写return;或不写) |
示例代码(求两数之和)
// 自定义求和函数
int add(int num1, int num2) { // 形参:num1、num2
int sum = num1 + num2;
return sum; // 返回求和结果
}
// 主函数(程序入口,必须有)
int main() {
int a = 3, b = 5;
// 调用add函数,a、b是「实参」(传递给形参的值)
int result = add(a, b);
printf("和为:%d\n", result); // 输出:和为:8
return 0;
}
运行结果: