学习总结。

在设计计算器和打卡机的时候很多已经见识过的知识但没理解,也有些可以想到的程序没有想出来。设计程序还是需要不断累积,或是跳出思维大胆猜想。每天因为问题绝大部分时间都是在尝试找出解决办法,以至于看了很多理解不了的东西,也花费了大量的时间。先把自己能够完全理解的记下来。
内存分配练习

typedef struct bb
{
    int id;//a   
    double weight; //b
    float height; //c
}BB;

typedef struct aa
{
    char name[2];//a 
    int  id;//b
    short score; //c
    short grade; //d
    BB b;
 /*
int id;//e  
    double weight; //f
    float height; //g
*/
}AA;

BB:id开始为0-3,weight开始为4不能整除8,在id上增加4为0-7,weight为8-15,height开始为16-19,总长要为8的整数倍自动补到8位为16-23。总长24
起始地址为该变量的类型所占的整数倍,若不足则不足部分用数据填充至所占内存的整数倍。
该结构体所占内存为结构体成员变量中最大数据类型的整数倍。
空位为填充对齐所用空内存。
a a a a
b b b b b b b b
c c c c
AA:40 BB b结构组嵌套时与普通变量分开排列。
a a b b b b
c c d d
e e e e
f f f f f f f f
g g g g
总结:不同的写入方式可以省下更多空间,节约更多时间
例如:占用16位空间即可。
后续补充。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值