sizeof相关

在标准C/C++中数据所占用的内存大小:

对于复合类型(一般指数据结构和类),它的起始地址要与“要求最严格”的那个数据对齐,“要求最严格”就是所占空间最大的那个数据类型,一般标准32位机中double和long占据8个字节,int和float占据4个字节,short占据2个字节,bool和char占据1个字节;

需要注意:
1)enum类型的对象占据4个字节,enum中的没个成员都是一个整型;

2)指针占据4个字节,类中如果有虚函数,则会有一个指向虚函数表的指针需要存储;

3)空的结构体或是类占据1个字节,用来标记自己;

4)零数组不占据空间大小,但它会指向它所在结构体的最高位。

 

int *(*a[5])[6];

sizeof(a)=20;//a所指的空间大小

sizeof(*a)=4;//指针a的大小

sizeof(**a)=24;//a所指的指针所指的空间大小

sizeof(***a)=4;//a所指的指针大小

sizeof(****a)=4;//a所指的指针所指的指针所指的对象大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值