C语言数据类型及其存储

11种数据类型

  • 整型类:int,short(短整型),long(长整型),unsigned(无符号),char(字符整型)
  • 浮点类:float(单精度),double(双精度)
  • C90新增:signed(有符号),void(空)
  • C99新增:_Bool(布尔指),_Complex(复数),_Imaginary(虚数)

存储单元

  • 位:最小的存储单元,存储0或1
  • 字节:常用存储单位,几乎所有机器有1字节等于8位,即1字节可以表示0-255之间的整数
  • 字:自然存储单位:8位的微型计算机一字为8位,16,32位的为即一字为16位或32位

基本整型类型

  1. int型:储存要占1个机器字长,16位机器,范围-32768 ~ 32767目前大多数机器32位,即占4个字节,存储数字范围为:-2147483648 ~ 2147483647
  2. short型:存储小于等于int,-32768 ~ 32767
  3. long型:储存大于等于int,-2147483648 ~ 2147483647
  4. long long型:存储至少64位,即8个字节
  5. unsigned型:无符号,只能存储正整数,能存储比signed更大的整数
  6. 目前普遍设置:long long 64位8字节,long 32位4字节,short 16位2字节,int 16/32位 2/4字节
  7. 常量:超出int范围,视为long,超出long范围,视为unsigned long,继续long long, unsigned long long
  8. 用H/h作为short,用L/l作为long, 用LL/ll作为long long,用U/u作为unsigned,例如343H,3234L,35455LL,435345U,534546467ULL
  9. char型:一个字节,-128 ~ 127,ASCII编码0~127,存储绰绰有余,C语言将字符常量视为int型非char型,是否有符号看编译器
  10. 整型可以表示10,8,16进制,如32,032,0x32/0X32

基本浮点类型

  • float:至少6位有效数字,取值至少10的-37到+37次方。通常浮点占32位,8位指数的值和符号,剩下的24位非指数的值和符号。
    浮点最大:999999961690316250000000000000000000.000000
    超过:1.#INF00
  • double,至少13位有效数字。通常64位,剩下的32位给非指数部分。
  • long double 更高的精确要求,至少比double精确

复数和虚数类型

  • 复数:float_Complex,double_Complex,long double_Complex
  • 虚数:float_Imaginary,double_Imaginary,long double_Imaginary

类型大小

sizeof()函数
sizeof(int),sizeof(char)等等……

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容