C 函数
函数是 C 程序的基本构建单元。本章讲解函数声明、定义、参数、返回值、内联与递归等。
1. 声明与定义
c
// 声明(原型)
int add(int a, int b);
// 定义
int add(int a, int b) { return a + b; }2. 参数传递方式
- 值传递:C 仅支持值传递
- 间接修改:通过指针参数修改调用者的变量
c
void swap(int *x, int *y) { int t = *x; *x = *y; *y = t; }3. 返回值
- 返回基本类型或指针
- 不要返回指向局部变量的指针
4. 内联函数(C99)
c
inline int sqr(int x) { return x * x; }提示编译器内联,实际是否内联由编译器决定。
5. 递归函数
c
int fact(int n) { return n <= 1 ? 1 : n * fact(n-1); }注意递归深度与栈空间。
6. 函数指针(预告)
函数也有地址,可存入指针变量,详见后续章节。
7. 头文件与接口
- 在头文件中放置函数原型
- 在源文件中实现
8. 示例
c
#include <stdio.h>
int add(int a, int b);
int add(int a, int b) { return a + b; }
int main(void) {
printf("%d\n", add(2, 3));
return 0;
}9. 小结
理解函数的声明/定义与参数传递模型,是模块化与可复用代码的前提。