常见数据类型
类型 | 类型(副) | 格式 | 说明 | 最小值 | 最大值 |
---|---|---|---|---|---|
整数类型 | 枚举型 | enum... 型 | |||
- | 字符型 | char 型 | 单字节 字符 | 0/128 | 255/127 |
- | - | signed char | 有符号单字节 char | -128 | 127 |
- | - | unsigned char | 无符号单字节char | 0 | 255 |
- | 整形 | int | (2或4字节) | -32768 | 32767 |
- | - | short /short int | 2字节 限定符 | -32768 | 32767 |
- | - | long /long int | 限定符 | -2147483648 | 2147483647 |
- | - | unsigned short | 2字节无符号 short | 0 | 65535 |
- | - | unsigned | 无符号限定符 | 0 | 65535 |
- | - | long | 4字节 | -2147483648 | 2147483647 |
- | - | unsigned long | 4字节无符号 long | 0 | 4294967295 |
- | - | long long int /long long | 至少占64位 | ||
- | - | signed int | 有符号int | ||
- | - | unsigned int | 无符号int 2或4字节 | 0 | 65535/4294967295 |
- | - | signed short int | 有符号短int | ||
- | - | unsigned short int | 无符号短int | ||
- | - | signed long int | 有符号长int | ||
- | - | unsigned long int | 无符号长int | ||
- | - | unsigned long int | 无符号长int | ||
- | - | unsigned long int | 无符号长int | ||
浮点类型 | 浮点型 | float | 单精度浮点数4字节6位小数 | 1.2E-38 | 3.4E+38 |
- | - | double | 双精度浮点数(常量)8字节15位小数 | 2.3E-308 | 1.7E+308 |
- | - | long double | 双精度浮长点数(常量)16字节19位小数 | 3.4E-4923 | 1.1E+4932 |
_Bool类型 | 表示布尔值 | 逻辑值为 | ture | false | 1bit |
装换级别
注:
- 无符号整型
unsigned int
表示0和正整数;有符号整型signed int
表示0和正负整数; - 对于单独的
short
和long
,可以认为是省略了int
; - 对于单独的
signed
和unsigned
,可以认为是(非short
和long
的)int
; - 各种数据类型具体能表示多少个数值因编译器而异;
sizeof
(类型名)可以查看对应类型的大小,单位为byte
(字节);sizeof(short)
≤sizeof(int)
≤sizeof(short)
;int
在运算或赋值时,其变量及时有小数部分,都将被舍去;double
在运算或赋值时,其变量及时有小数部分,都将有效;short
与int对象至少要有16位,而long
对象至少要有32位;short
对象不得长于int
对象,而int
对象则不得长于long
对象;unsigned
限定符限定的数总是正的或0,并服从算术模2的n次方定律,其中n是该类型机器表示的位数;int
通常反映特定机器的自然大小,一般为16位或32位,short
对象一般为16位,long
对象一般为32位;- C语言规定了
short
占用的存储空间不能多于int
,long
占用存储空间不能少于int;
- 如果在
long
类型和int
类型占用空间相同的机器上编写代码,当确实需要32位的整数时,应使用long
类型而不是int
类型,以便把程序移植到16位机后仍然可以正常工实需要32位的整数时,应使用long
类型而不是int
类型,以便把程序移植到16位机后仍然可以正常工;