这是书中的直接引述(K&R,第 2 版,第 35 页):
“至少内部名称的前 31 个字符是重要的。对于函数名称和外部变量,该数字可能小于 31,因为外部名称可能被语言无法控制的汇编程序和加载程序使用。对于外部名称, 标准只保证 6 个字符和一个大小写。”
并且在 C99 中对其内部名称没有长度限制,但只有前 63 个保证是重要的(第 5.2.4.1 节翻译限制)。
我的问题是为什么这些限制特别是31或63?为什么是这个数字?为什么不是19、24或任何其他数字?如果这是一个实施问题,将其设为 31或63是否有好处?