C语言中各种数据类型长度
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言中各种数据类型长度
C语言的基本数据类型有以下几个:
int整型
char字符型
float单精度浮点型
double双精度浮点型
另外,在基本数据类型基础上附加一些限定词,得到扩充的数据类型。short,long可以应用到整型,unsigned可以应用到整型和字符型:
short int(或short)短整型
long int(或long)长整型
unsigned int无符号整型
unsigned short无符号短整型
unsigned long无符号长整型
unsigned char无符号字符型
整型
C标准没有规定各类数据所占内存字节数,通常一个int型数据所占内存与计算机字长大小相同,为16位或32位,short型数据通常占16位,long 型数据是32位。每种编译器可以为硬件选择适合的长度,仅受一些限制,如short 和int型数据至少占16位,long型至少占32位,short型数据不能超过int 型数据的字节数,而int型不长于long型。
无符号的数总是正数或零,服从数学式子2n,其中n是这种类型的二进制位数。例如,int型是16位,它的数据取值范围在-32768-32767之间,而unsigned int型数据取值范围在0-65535之间。下表列出了不同机器上整型数据的取值范围。
16位机器32位机器
数据类型所占位数取值范围所占位数取值范围
int16-32768~
32767
32-21亿~21亿
short16-32768~
32767
16-32768~32767
long32-21亿~21亿32-21亿~21亿unsigned int160~65535320~42亿
unsigned
short
160~65535160~65535 unsigned long320~42亿320~42亿
字符型
字符型数据存储时占用8位,它实际存储的是字符对应ASCII码(美国标准信息交换码American Standard Code for Information Interchange)。如一个char型数据'A',其ASCII码为65,故实际存储的内容是65。unsigued char 型数据取值范围为0-255,char型数据取值范围为-128-127。字符有符号或无符号是依赖于机器的,但是可打印的字符总是正的。
由于在内存中字符型数据是以ASCII码形式存放,其形式与整型类似,因而在C语言中,字符型数据与整型数据可以通用,字符型数据所有的性质与一字节整型量相同。