int类型占几个字节(int数据类型占几个字节)

int类型占几个字节(int数据类型占几个字节)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

在C语言中。数据类型分为:基本数据类型。和复杂数据类型。基本数据类型包括:int、long、short、char、folat、double;复杂数据类型有:数组、结构体、枚举体。此外。还有一个较为特殊的数据类型:指针。

在C语言中。检测某一个数据类型所占据的内存大小。也即:所占据的内存中的字节数。可以使用一个关键字来检测。sizeof。这个关键字。是一个运算符。与加(+)减(-)乘(*)除(/)是一样的。都属于运算符。

我们可以写一段程序。来检测各个数据类型。所占据的内存中的字节个数。程序代码如下图所示:

int类型占几个字节(int数据类型占几个字节)

C语言示例代码

上述C语言程序中。第23行和第24行。就是在计算各个数据类型所占据的字节数。使用了sizeof关键字。最终。计算出来的结果如下图所示:

int类型占几个字节(int数据类型占几个字节)

C语言示例代码的执行结果

我们可以看到。上述结果就是示例代码中。各个数据类型所占据的字节数。

变量a是整型(int)。占据4个字节;变量b是短整型(short)。占据2个字节;变量c是字符型(char)。占据1个字节;变量e是单精度浮点型(float)。占据4个字节;变量f是双精度浮点型(double)。占据8个字节;变量g属于自定义的一个数据类型。来源于结构体stu。它所占据的字节数是16

其中。结构体变量g的总体占据的字节数。本来应该是:sizeof(int)+sizeof(char)+sizeof(double) = 4+1+8=13。但是上面程序所示结果为16。这是因为有一个“内存地址对齐”的概念。比如:第一个int型变量的起始位置为0x0000。那么第二个char类型变量的起始位置是0x0004。第三个double类型的变量起始位置是0x0008。而double型变量的结束位置是:0x000F。所以。整个结构体变量g的内存位置是:0x0000到0x000F。加起来一共是16个字节数。

在不同的系统上。有的数据类型所占据的字节数不一样。比如。在32位系统上。int型数据所占据的字节数是4。long类型数据所占据的字节数是4;在64位系统上。int型数据占据4个字节。long类型数据占据8个字节;在16位系统上。int型数据占据2个字节。long类型数据占据4个字节。

分享到 :
相关推荐

台湾vps主机租用如何选择

台湾vps主机租用选择的方法:1。看搭建的网站类型。网站数据量的大小影响带宽的占用;...

韩国服务器影响网站SEO的因素有哪些(韩国服务器影响网站seo的因素有哪些)

韩国服务器影响网站SEO的因素有:1。韩国服务器的访问速度。韩国服务器的访问速度慢会...

Hostwinds和Linode哪个好

关于国外VPS。非常知名的Hostwinds以及Linode也是国内站长选择非常多[...

导致美国服务器变卡的原因有哪些(导致美国服务器变卡的原因有哪些呢)

导致美国服务器变卡的原因有:1。美国服务器网络出现故障问题或者带宽不足导致;2。美国...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注