自学内容网 自学内容网

//结构体内存对齐

//结构体内存对齐
//结构体中的变量:只能放在自己类型的整数倍的内存地址上
//因为是结构体,所以总大小是最大类型的整数倍
//不满足条件的内存地址补空格,直到内存地址复合条件为止
//eg
//struct num
//{
    //double a;//内存地址 0-7 占8位
    //char b;//char 1字节 8是1的整数倍 所以b存在内存地址8
    //int c;//int是4字节,9,10,11 都不是int类型的整数倍,所以补空格 c存在内存地址12的位置 存4字节(12-15的位置)
    //char d;//char 1字节  16是1的整数倍,所以d存在内存地址16的位置
    //结构体总大小:因为这个结构体最大的数据类型是double, 8字节, 17,18,19,20,21,22,23都不是8的整数倍,所以补空格
    // 24是8的整数倍 所以结构体总大小为24
    //改变变量的顺序,可以改变数据结构的大小 
    //得出:把数据类型由小到大小来定义,整个结构体占内存空间最小;
//};


原文地址:https://blog.csdn.net/2301_79017161/article/details/143897733

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!