我正在阅读K&R的“ The C Programming Language”第二版,并在第83页的第4.6节“静态变量”中,K&R状态:
应用于外部变量或函数的静态声明, 将对象的范围限制为源文件的其余部分
K&R确实通过给外部静态声明赋予错误的语义而在这里犯了错误吗?将static应用于外部变量或函数不会改变范围。在我看来,以上句子与第80页第4.4节“范围规则”中的句子完全相同:
外部变量或函数的作用域从此开始 声明到正在编译文件的末尾。
答案 0 :(得分:1)
在第227页,K&R描述了两种范围:词法范围和与外部链接关联的范围。因此,他们使用“范围”作为比当前C标准更通用的术语。它们的词法范围是当前C标准所称的“范围”,而范围的更广泛使用是当前C标准所称的链接。