linux C编程(四)int占用字节数/大小端模式/数据类型自动转换/结构体内存占用

数据类型占用字节数

首先强调,不同数据类型的内存占用大小不固定,与编译器有关,与CPU的位数和操作系统的位数无关。但编译器仍然受CPU的字长影响。具体常用的标准如下:

type 32字长 64字长
char 8 8
short 16 16
int 32 32
long 64 64
pointer 32 64

对于16位或者8位的单片机而言有的可能采用16位作为int

大小端模式

定义

小端模式:数据的高字节保存在内存的高地址中,低字节保存在内存的低地址中
大端模式:数据的高字节保存在低地址中,低字节保存在高地址中
例如对于占4个字节的int数据0x12345678来说,其大小端的存储模式如下图

记忆:“小端低低”~
intel的CPU为小端模式,大部分的arm,DSP也为小端模式,有的ARM支持硬件选择大小端模式

大小端存储示意

如何测试编译器是大/小端

考虑如下代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值