我对K&R C中变量名的内容存在一些疑惑。以下是原始文本:
一个内部变量名至少有前31个字符是有效的。对于函数名和外部变量,数字可能少于31个,因为组装程序和加载器可以使用外部名称,而这些程序不受语言的控制。对于外部名称,标准仅保证唯一性的6个字符和单个大小写。像if,else,int,float等关键字是预留的:您不能将它们用作变量名。它们必须是小写的。 最好选择与变量用途相关且不易出现排版混淆的变量名。我们倾向于使用短名称表示局部变量,特别是循环索引,而对于外部变量则使用较长的名称。
让我困惑的是外部名称,标准仅保证唯一性的6个字符和单个大小写。这是否意味着对于外部名称,只有前6个字符是有效的,其余的字符都被忽略了?例如,我们定义了两个外部变量myexvar1和myexvar2,编译器会将这两个变量视为一个吗?如果是这样,为什么他们建议我们在外部变量中使用更长的名称?
i
这样的名称,而外部变量将具有比此更长的名称。 - Blaze