概述
C++是一种强类型的语言,其对于变量的存储都直接与计算机内存打交道,在开发一些较大型程序时,必须要清楚其中各种数据类型的字节长度也即存储空间大小,其对于保证程序的移植和兼容性都有着至关重要的作用。
C++中通过sizeof()函数可以直接输出数据类型的字节(注意是字节数,每个字节等于8位)。
C语言
开始时只有char(8位)和int(16位)两种,后来随着发展又加入了short(16位)和long(32位),此时,int可以是16位或者32位,依赖于平台和后续的兼容性。再后来当64位出现时,long long(64位)又被添加进来,为了进行规范,对较小的一些类型的范围就有了一些调整,逐渐稳定为int32位,long可以有多种定义,可以是32位,也可以是64位。
C++标准上只是说long至少要和int一样大,所有整数类型实现时要满足如下规范:
sizeof(char) == 1
sizeof(char) <= sizeof(short)
sizeof(short) <= sizeof(int)
sizeof(int) <= sizeof(long)
sizeof(long) <= sizeof(long long)
除了char和long long,其余的类型范围较灵活,都是平台相关的,与实现相关。如果要实现平台独立的话,在windows平台上,就有__intn可以使用,n代表位数。__int8 __int16 __int32 __int64。
一般的,为了防止程序中出现字节空间问题,会用typedef定义一些别名,这样程序在不同平台进行移植的时候,在知道了目标平台上各数据类型的字节数要求时,可以直接修改这些typedef即可。
其他补充:
float为单精度浮点数,存储空间为4个字节;double为双精度浮点数,存储空间为8个字节。
最后
以上就是饱满乌冬面为你收集整理的C++中基本数据类型字节长度小结的全部内容,希望文章能够帮你解决C++中基本数据类型字节长度小结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复