⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

C语言 函数

学习函数 · 难度:入门 · +10XP

C语言 函数详解

函数是 C 语言程序的基本组成单元。每个 C 程序至少包含一个 main() 函数。函数将一段可重复使用的代码封装起来,接收输入参数,执行特定逻辑,最后返回结果。使用函数可以让代码更清晰、更易于维护和复用。

函数的定义与声明

C 语言的函数由返回类型函数名参数列表函数体四部分组成。如果函数定义在调用之后,则需要提前进行函数声明(也叫函数原型),告诉编译器函数的存在。

#include <stdio.h>

// 函数声明(函数原型) int add(int a, int b);

// 函数定义 int add(int a, int b) { return a + b; }

int main() { int result = add(5, 3); printf("5 + 3 = %d ", result); return 0; }

参数传递方式

传递方式特点示例
值传递将实参的值复制一份给形参,函数内修改不影响外部变量void swap(int a, int b)
指针传递传递变量的地址,函数内通过指针可以修改外部变量的值void swap(int *a, int *b)
数组传递数组名会退化为指针,实际上传递的是数组首元素的地址void printArr(int arr[], int n)

返回值与 void 类型

函数可以返回各种数据类型(intfloatchar指针 等)。如果函数不需要返回值,使用 void 关键字声明返回类型。每个函数最多只能返回一个值,但可以通过指针参数来输出多个结果。

// 通过指针返回多个值
void getMinMax(int arr[], int n, int *min, int *max) {
    *min = *max = arr[0];
    for (int i = 1; i < n; i++) {
        if (arr[i] < *min) *min = arr[i];
        if (arr[i] > *max) *max = arr[i];
    }
}

作用域与存储类别

C 语言中的变量有四种存储类别:auto(默认,局部变量)、static(静态变量,整个程序生命周期内保留值)、extern(外部变量,跨文件访问)和 register(建议存于寄存器中)。理解这些存储类别对于编写高效且无 Bug 的程序至关重要。

  1. 编写一个 max 函数,接收两个整数,返回较大的那个
  2. 编写 swap 函数,使用指针交换两个整数的值,并在 main 中验证
  3. 编写 factorial 函数,用递归计算 n 的阶乘
  4. 创建一个 static 变量,观察它在多次函数调用中的变化
  5. 尝试将函数定义和声明分别放到 .c.h 文件中,学习多文件编译
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 105 篇
0 完成
🔥 0