C语⾔在32和64位系统基本数据类型取值范围
32位系统64位系统数据类型说明
取值范围字节数字节数取值范围bool布尔型true,false11true,false
char字符型-128~12711-128~127 unsigned char⽆符号字符型0~255110~255 short短整型-32768~3276722-32768~32767
unsigned short⽆符号短整型0~65535220~65535 int整型-2147483648~214748364744-2147483648~2147483647 unsigned int⽆符号整型0~4294967295440~4294967295 long长整型-2147483648~214748364748-2^64~2^64-1 unsigned long⽆符号长整型0~4294967295480~2^64-1 long long长整型-2^64~2^64-188-2^64~2^64-1 float单精度浮点数-2^128~2^128,精度为6~7位有效数字44-2^128~2^128,精度为6~7位有效数字double双精度浮点数-2^1024~2^1024,精度为15~16位88-2^1024~2^1024,精度为15~16位*指针-48-
⼏点说明:
1、未知系统下的数据所占字节数
  如果不知道⾃⼰系统是32位还是64位,可以使⽤sizeof单⽬运算符,获取某个数据类型所占⽤空间的字节数,例如
sizeof(int),sizeof(short),sizeof(double)。
2、指针类型变量字节数
sizeof 指针
2、指针类型变量字节数
  指针类型变量的⼤⼩只取决于计算机系统的位数,它的⼤⼩也等于该计算机系统的int类型⼤⼩,即该计算机系统“字”的⼤⼩。(这句话中的int其实是上⾯表格中的long int,因为C语⾔为了保持跨平台的统⼀,所以char, short int, int, long long int都采⽤了固定位数,不随系统位数变化⽽变化,但是long int类型是根据系统位数决定的!)
3、整数的后缀表⽰
  可以⽤后缀“L”或“l”来表⽰长整型数。例如:
  ⼗进制长整型数:158L (⼗进制为158)、358000L (⼗进制为358000);
  ⼋进制长整型数:012L (⼗进制为10)、077L (⼗进制为63)、0200000L (⼗进制为65536);
  ⼗六进制长整型数:0X15L (⼗进制为21)、0XA5L (⼗进制为165)、0X10000L (⼗进制为65536)。
  长整型数158L和基本整型数158 在数值上并⽆区别。但对158L,因为是长整型数,C编译系统将为它分配4个字节存储空间。⽽对158,因为是基本整型,只分配2 个字节的存储空间。因此在运算和输出格式上要予以注意,避免出错。
  ⽆符号数也可⽤后缀表⽰,整型数的⽆符号数的后缀为“U”或“u”。 例如:358u、0x38Au、235Lu均为⽆符号数。
  前缀,后缀可同时使⽤以表⽰各种类型的数。如0XA5Lu表⽰⼗六进制⽆符号长整型数A5,其⼗进制为165。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。