C中的短int文字

Abh*_*hav 2 c

为什么'C'中没有短文字?

Ric*_*ton 6

在C中使用短的int文字是没有意义的,因为所有整数表达式都被评估为子表达式的大小至少为int.


Car*_*icz 5

或者:因为不需要它们!

需要各种大小的数据类型以适应底层硬件和/或节省存储空间,但文字是一种编译时构造,无论如何都会存储到适当的数据结构中.

它与floatvs. 不同,double因为相同的数字实际上在那些中具有不同的内部表示 - 无论如何,不​​仅仅是几个前导零.

同样地,有区别之间char以及short即使他们可能被存储在相同位:如果程序员在谈论字符数据,它通常会更方便他指定,也就是说,'A'不是65.

但是对于程序员来说,short 99和int 99看起来是一样的,在程序中对待它们......更广泛的类型将很容易地完成两者的工作.