C 语言灵活整数大小并非设计失误
C's Flexible Integer Sizes Were Not a Design Mistake
很多初学者误以为 C 语言中 int 类型必须是 32 位,但这其实是现代思维的误区。在 C 语言诞生的 1970 年代,计算机架构千差万别,存在 12 位、18 位、36 位甚至 60 位的机器。C 语言采用灵活的整数大小,正是为了在 DEC PDP-11、Honeywell 6000 等差异巨大的硬件上实现真正的可移植性和高效运行。如果当时强制规定 int 为 32 位,在 16 位机器上会导致性能减半,在 36 位机器上则需额外的掩码操作。这种看似“不标准”的设计,实则是为了适配当时复杂的硬件环境而做出的深思熟虑的权衡。
C 语言的灵活类型大小并非疏忽,而是该语言实现可移植性的关键所在。