各类型变量所占字节数,sizeof()

眉间皱痕 提交于 2021-02-20 10:52:59

与操作系统位数和编译器都有关。

可用sizeof()得到,当前主流编译器一般是32位或64位。

  类型          16位       32位   64位

  char       1            1    1

  short int     2         2    2

  int          2          4    4

  long int             4        4    8

  long long int      8           8      8

  char*                2      4      8(由寻址范围确定)

  float                 4      4      4

  double               8      8    8

 

 

 

 

int,long int,short int

宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): 

sizeof(short int)<=sizeof(int)

sizeof(int)<=sizeof(long int)

short int至少应为16位(2字节)

long int至少应为32位。

*指针-地址

*(即指针变量): 4个字节(32位机的寻址空间是4个字节。同理64位编译器)(变化*)

64位操作系统下8个字节。

字节

字节是二进制数据的单位。通常是 八位的二进制数。一些老型号计算机结构使用不同的长度。

B与bit

数据存储是以“字节”(Byte)为单位,数据传输大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。

 

 

 

【转载自】

https://blog.csdn.net/primeprime/article/details/80247626

https://blog.csdn.net/yimingsilence/article/details/54730438

https://wenku.baidu.com/view/f77f0d7f3d1ec5da50e2524de518964bcf84d2cf.html

https://www.cnblogs.com/GumpYan/p/5857019.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!