C 教程

C 语言完整学习导览

C 语言由 Dennis Ritchie 于 1972 年在贝尔实验室开发,是现代编程语言的基石:操作系统、嵌入式、驱动、编译器、数据库内核大量使用 C 语言。学习 C 能让你真正理解计算机底层的工作方式。

为什么学习 C

  • 底层掌控:直接操作内存与硬件,理解指针/内存模型
  • 性能极致:接近机器指令的执行效率
  • 语言之母:Java、C++、C#、Python、Go 等均受其影响
  • 就业方向:嵌入式、系统开发、高性能计算、安全领域必备

环境搭建

# Linux/macOS(自带 gcc)
gcc --version

# Windows:安装 MinGW 或使用 VS Code + WSL

# 编译运行
gcc hello.c -o hello
./hello
// hello.c
#include <stdio.h>
int main() {
    printf("Hello, C!\n");
    return 0;
}

核心知识点地图

  1. 基础语法:变量、数据类型(int/float/char)、运算符、输入输出
  2. 流程控制:if/else、switch、for、while、break/continue
  3. 函数:声明、定义、参数传递(值/指针)、递归
  4. 数组与字符串:一维/多维数组、字符数组、字符串函数
  5. 指针:地址、指针运算、指针与数组/函数、二级指针
  6. 结构体与联合体:struct、union、typedef、位域
  7. 内存管理:malloc/free、动态数组、内存泄漏排查
  8. 文件操作:fopen/fread/fwrite、文本与二进制
  9. 进阶:链表/栈/队列等数据结构、多线程(pthread)、宏与预处理

经典示例:动态数组

#include <stdio.h>
#include <stdlib.h>

int main() {
    int *arr = malloc(5 * sizeof(int));
    for (int i = 0; i < 5; i++) arr[i] = i * i;
    for (int i = 0; i < 5; i++) printf("%d ", arr[i]);
    printf("\n");
    free(arr);   // 释放内存,避免泄漏
    return 0;
}

推荐学习资源

  • 《C Primer Plus》/《C 程序设计语言》(K&R)
  • 在线:C 语言中文网、菜鸟教程 C 语言部分
  • 练习平台:LeetCode 用 C 刷题、CS50 课程

学习建议

C 语言"少即是多":语法不多但概念深刻。重点攻克指针与内存模型,动手实现链表、排序等经典程序,理解每一步内存发生了什么,就能真正掌握 C。

第 1 / 1 节