计算结构体的大小

    结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间,结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结构体变量时的地址对齐问题。请看下面各结构体的大小分析:

struct A
{
    char a;//1+3
    int b;//4
};//8

上例中,char的字节大小为1,int的字节大小4,为了做到地址能够整除字节数,需要在char后面加上3个字节,所以结构体大小为8。

struct B
{
    char a; //1+1
    short b; //2
    int c; //4
};//
strcut C
{
    char a; //1+3
    int b; //4
    short c; //2
} //10+2=12

在这里插入图片描述

struct HH
{
    int a;
    float b;
}
struct H
{
    char c;
    struct HH d;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值