• 类对象存储模型
        一个结构体定义完了之后,其在内存中的存储并不等于所有元素宽度之和。
  1. 基本数据类型结构体遵循
    原则一:结构体中的元素是按照定义的顺序一个个放到内存中去的,并不紧密排布。从内存存储单元的首地址(0)开始,每一个元素都认为内存根据它的大小来划分,所以每一个元素存放的位置从自己宽度的整数倍开始。
    结构体在内存中的对其原则
    原则二:经原则一后,计算出结构体的存储单元是否是宽度最长元素的整数倍,若不是则补充到其整数倍。
        结构体在内存中的对其原则
 2.指针类型结构体
    指针占用存储空间4字节,不必在意什么类型
        结构体在内存中的对其原则
 3.综合内存对齐例子
        
    定义test1的两个元素int型的d和test型的b,则系统为d分配的是0-3个字节,为b分配的存储位置是第8-32个字节,起来一共28个字      节,不是最长基本类型double所占宽度8的整数倍,因此要补齐到8的整数倍,即32。测试后可得sizeof(test1)的值是32。
        结构体在内存中的对其原则    如果将test1的两个元素int型的d和test型的b调换定义顺序,则系统为b分配的存储位置是第0-23个字节,为d分配的是第24个字节。加起来一共28个字节,不是最长基本类型double所占宽度8的整数倍,因此要补齐到8的整数倍,即32。测试后可得sizeof(test1)的值是32。
            结构体在内存中的对其原则

            





相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-09
  • 2021-05-06
  • 2021-07-22
  • 2022-12-23
  • 2021-08-16
猜你喜欢
  • 2021-12-18
  • 2021-06-25
  • 2021-07-21
  • 2022-01-16
  • 2022-12-23
相关资源
相似解决方案