跳到主要内容

C 语言中的变量类型

对于 C 语言的变量类型这里有两种说法:

一种是只包含基础的变量类型,如整数型,浮点型等;另外一种则是在上述类型的基础上还包含了一些用户可以定义的复合的类型,如 array,structure 等等。

我们这里只介绍大家通常意义上所认识的前一种基本的 C 语言数据类型。更为复杂的这些数据组合的结构,我们会在后面单独列出。

1. 变量类型

因为 C 语言与需要编译之后才能执行,所以需要对变量指定类型后才能使用。因为 C 语言会对不同的数据类型分配不同的内存大小,这就是为什么 C 语言需要指定数据类型,而诸如 PHP, Python 这样的语言不需要指定。指定大小的好处是可以让程序处理起来更快,内存的开销更小。

变量类型列表

类型存储长度数值范围
char1 byte-128 to 127
unsigned char1 byte0 to 255
signed char1 byte-128 to 127
int4 bytes-2,147,483,648 to 2,147,483,647
unsigned int4 bytes0 to 4,294,967,295
short2 bytes-32,768 to 32,767
unsigned short2 bytes0 to 65,535
long8 bytes-9223372036854775808 to 9223372036854775807
unsigned long8 bytes0 to 18446744073709551615

对于用科学计数法表示的类型还涉及到小数可以表示的精度,也就是有效数字。请看下面的表格:

类型存储长度数值范围小数点后的位数
float4 byte1.2E-38 to 3.4E+386
double8 byte2.3E-308 to 1.7E+30815
long double10 byte3.4E-4932 to 1.1E+493219

这里有一个程序可以输出你的计算机中的不同数据结构在内存中所占用的内存的位数。对于不同的硬件这个返回值是不同的。