C语言数据类型关键字

最初 K&R 给出的关键字 C90 标准添加的关键字 C99 标准添加的关键字
int signed _Bool
long void _Complex
short   _Imaginary
unsigned    
char    
float    
double    

表格数据来自《C Primer Plus》P42 表3.1 C语言的数据类型关键字

其中有 3 个用来修饰基本类型的关键字:short、long、unsigned

数据类型中的 3 个修饰关键字可以与其他或自身组成新的数据类型。对于这几点应当注意以下几点:

  • short int 类型(简写为 short)占用类存可能比 int 类型少,常用语小树枝的场景以节省空间。于 int 类似,short 是有符号的类型。
  • long int 类型(简写为 long)占用内存可能哔 int 类型多,适用于较大数值的场景。与 int 类似,long 是有符号的。
  • long long int 或者 long long(C99 标准加入)占用的存储空间可能比 long 多,适用于更大数值的场合。该类型至少占 64 位。与 int 类似,long long 是有符号类型。
  • unsigned int 或 unsigned 只用于非负值的场合。这种类型与有符号类型表示的范围不同。例如16 位 unsigned int 允许的取值范围是 0~65535,而不是 -32768~32767.用于表示符号的位现在用于表示另一个二进制位,所以无符号整形可以表示更大的数。
  • 在 C90 标准中,添加了 unsigned long int 或 unsigned long 和 unsigned short int 或 unsigned short 类型。C99 标准又添加了unsigned long long int 或 unsigned long long。
  • 在任何有符号类型前面添加 signed,可强调实用有符号类型的意图。例如:short、short int、signed short、signed short int 都表示同一种类型。

以上列表数据来自《C Primer Plus》P47 3.4.2 其他整数类型

要注意的是 long long 类型是  C99 中新增的,所以使用是一定要确认编译环境是否支持 C99 的编译。

原文地址:https://www.cnblogs.com/YMaster/p/11823965.html