深入 void:C 语言中被忽视的四个用途
来源:dev.to — 2026-08-09
📋 概述
static 常被称为 C/C++ 中被过度使用的关键字,它有三种用途。而作者最近才意识到 void 这个关键字其实有四种用途,比 static 还多一种——只是 void 的所有用途都与"虚无"相关,所以不那么显眼。文章梳理了 void 的历史:最初 C 语言并没有 void,想写一个不返回值的函数只需省略返回类型(K&R 方言)。直到 Stephen Bourne(Bourne Shell 的作者)向 Ritchie 抱怨没有明确表示"函数无返回值"的语法,Ritchie 发现不返回任何东西还能省一条机器指令,于是采纳了 Bourne 建议的 void 这个名字。此后 void 的用途被逐步添加,也影响了 C++ 等语言。
🔑 核心要点
- void 在 C 中有四种用途,比 static 的三种还多一种,只是都围绕"虚无"所以不易察觉
- 历史源头:K&R 方言里不返回值的函数直接省略返回类型,参数类型默认 int
- void 由 Stephen Bourne(Bourne Shell 作者)提议命名,Ritchie 采纳
- 引入 void 的动机之一是省一条机器指令:编译器不再需要生成返回垃圾值的指令
- void 的用法后来被逐步添加,并影响了 C++ 等后续语言
💡 金句
我早知道这四种情境,但直到最近才"啪"地一下意识到它们都是 void——而 void 的用途竟然比 static 还多一种。
👍 0
👎 0
← 返回 dev.to 首页