2.2学习C第二章类型、运算符和表达式2: 数据类型和大小

在C语言当中, 只有以下几种基本的数据类型(data types):

Type Description
char a single type, capatable of holding one character in the local character set.
int an integer, typically reflecting the natural size of integers on the host machine.
float single-precision floating point.
double double-precision floating point.

此外, 还有些适用于这些基本数据类型的修饰词(qualifier)。 shortlong 用于整数类型(integers):

short int sh; 
long int counter; 

(int通常在这样的声明中被省略(omitted))

此举之意是在于在实际当中令shortlong提供不同长度(lengths)的整数(integers); 一般来说, int类型的大小是其在所在机器上原生的占用空间大小。 short通常是16位(Bits)大小, 而long是32位(Bits), int的话要么是16位要么是32位。每一个编译器(Compiler)都可以随意选择对于目标硬件合适的大小, 不过其要满足条件: shortint至少要16Bits, long至少32Bits, 其中short的长度不能大于int, 也就是不能大于long
修饰词signed或者unsigned可被用于字符(char)或者整数(integer)。 unsigned的数字始终是非负的(为正或为0)。 举例说: 如果一个char的数据是8位大小, 那么unsignedchar其对应的值域为0~255, 而同时signedchar的值域为-128~127。
long double类型指定了扩展精度的浮点。 同整数一样, 浮点数的大小跟实现(implementation)有关;float, double 以及 long double可以代表三种不同的大小。
标准头文件(standard headers)囊括了代表所有这些大小的符号变量(symbolic constants)以及其它机器(machine)和编译器(compiler)的特性。

参考: 《The C Programming Language》- Chapter 2.2