当前位置:首页 > 内存 > 正文

一个结构体变量占用的内存大小是

  • 内存
  • 2024-06-12 16:26:04
  • 4044

一、structdata{inta;floatb;doublec;chard;}u;结构体类型变量u占用存储空间为________。24这涉及到夜间的记忆因素。
float是4个字节,所以b的地址必须是4的倍数,所以a后面必须加2个零字节。
这意味着a和b总共8个字节(其中2个为空字节),而双字节正好是8,所以c不需要对齐。
最后,d本身获得1个字节。要记住的一条规则是,结构体的大小必须是结构体成员的整个长度,结构体的最大大小必须是8的倍数,因此d之后必须添加7个字节。
总共24个字节(包括9个空字节)
二、结构体变量所占内存长度是内存长度的总和。根据中关村在线查询,该结构体变量占用的内存长度是各个成员占用的内存长度之和。同时,内存长度取决于其成员的排列顺序。