C语言,64位系统和32位系统各数据类型占用字节大小问题

博客探讨了在64位Windows环境下,不同数据类型占用的字节数,发现bool、char、short、int、float、double的大小与32位系统一致,但long在理论上应为8字节,实测却为4字节。这归因于编译器的实现差异,提示开发者对此现象保持理解的开放性。
摘要由CSDN通过智能技术生成

一、描述

废话少说,直接上图!!!
在这里插入图片描述

我使用的是vscode64位,也就是Windows环境下的64位系统。
测试可以看出:
64位系统下
bool:1字节
char:1字节
short:2字节
int:4字节
float:4字节
double:8字节
long:4字节 (查阅资料是8字节)

查阅资料,
32位系统下
bool:1字节
char:1字节
short:2字节
int:4字节
float:4字节
double:8字节
long:4字节

大家可以看出,除了long型,其他类型在32位和64位系统下占用字节数是一样的!可是为什么我这里的测试用例64位下long型也是占4个字节呢?

查阅了很多资料,总结过就是理论上long型在64位下占8个字节,但实际中由于编译器的不同,可能会出现占用4个字节的情况。以后无论遇到那种情况,见怪不怪就行了。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值