C 语言中的变量类型
对于 C 语言的变量类型这里有两种说法:
一种是只包含基础的变量类型,如整数型,浮点型等;另外一种则是在上述类型的基础上还包含了一些用户可以定义的复合的类型,如 array,structure 等等。
我们这里只介绍大家通常意义上所认识的前一种基本的 C 语言数据类型。更为复杂的这些数据组合的结构,我们会在后面单独列出。
1. 变量类型
因为 C 语言与需要编译之后才能执行,所以需要对变量指定类型后才能使用。因为 C 语言会对不同的数据类型分配不同的内存大小,这就是为什么 C 语言需要指定数据类型,而诸如 PHP, Python 这样的语言不需要指定。指定大小的好处是可以让程序处理起来更快,内存的开销更小。
变量类型列表
类型 | 存储长度 | 数值范围 |
---|---|---|
char | 1 byte | -128 to 127 |
unsigned char | 1 byte | 0 to 255 |
signed char | 1 byte | -128 to 127 |
int | 4 bytes | -2,147,483,648 to 2,147,483,647 |
unsigned int | 4 bytes | 0 to 4,294,967,295 |
short | 2 bytes | -32,768 to 32,767 |
unsigned short | 2 bytes | 0 to 65,535 |
long | 8 bytes | -9223372036854775808 to 9223372036854775807 |
unsigned long | 8 bytes | 0 to 18446744073709551615 |
对于用科学计数法表示的类型还涉及到小数可以表示的精度,也就是有效数字。请看下面的表格:
类型 | 存储长度 | 数值范围 | 小数点后的位数 |
---|---|---|---|
float | 4 byte | 1.2E-38 to 3.4E+38 | 6 |
double | 8 byte | 2.3E-308 to 1.7E+308 | 15 |
long double | 10 byte | 3.4E-4932 to 1.1E+4932 | 19 |
这里有一个程序可以输出你的计算机中的不同数据结构在内存中所占用的内存的位数。对于不同的硬件这个返回值是不同的。