C语言简介
概念说明
C 语言是一门通用的编译型程序设计语言,强调直接、精简和高效。 它既可以写接近硬件的底层程序,也可以写结构清晰的通用工具,因此一直被操作系统、编译器、数据库、嵌入式和高性能基础组件广泛使用。
学 C 语言最有价值的地方,不只是掌握一套语法。 更重要的是通过它理解变量为什么会占用内存、数组为什么连续存放、函数调用为什么会形成栈帧、指针为什么能修改外部数据。
C 语言也有明显边界。 它不会自动帮你管理内存,不会自动检查数组越界,也不会用统一异常机制替你处理错误。正因为这些“默认不帮忙”,C 才特别适合训练程序员的基本功。
可以先把 C 语言的典型特点记成下面几条:
- 语法相对精简,核心概念少,但每个概念都很重要。
- 更接近机器执行模型,很多行为和内存布局、字节序、调用约定有关。
- 可移植性强,但某些细节仍与编译器、平台和标准版本有关。
- 运行时抽象较少,性能可控,但需要程序员自己负责资源管理。
语法/规则
- C 源文件通常使用
.c作为扩展名,头文件通常使用.h。 - 程序入口通常是
main函数,常见写法是int main(void)或int main(int argc, char *argv[])。 - C 程序需要先编译,再链接,最后才能运行可执行文件。
- C 标准常见版本有
C89、C99、C11和C17,学习资料提到的行为要注意对应标准。 - C 和 C++ 语法有交集,但它们不是同一门语言,很多写法不能直接混用。
- 学习 C 语言时,效率和安全性常常需要靠程序员自己平衡,编译器不会替你兜底所有问题。
示例
| |
输出结果:
| |
这个例子虽然很短,但已经包含了后面会不断出现的几个核心元素:头文件、main 函数、函数调用、字符串字面量和返回值。
常见错误
- 把 C 和 C++ 当成同一门语言,直接混用
cout、引用、类和new这类 C++ 语法。 - 只记住表面语法,不去理解地址、内存、生命周期和数据布局这些底层概念。
- 以为“程序能跑”就说明写法可靠,忽略了 C 里还有越界、未初始化、悬空指针这类高风险问题。
- 上来就追求复杂项目,反而跳过了最重要的基础:编译、调试、数组、指针和函数调用过程。