结构体字节对齐

阅读代码的时候遇到结构体字节对齐的问题,所以写下第一篇随笔来记录一下,第一次写,格式什么的没有注意,姑且这样吧。

2021-01-16  16:21:13

 

结构体字节对齐的方式有这几种:(参数n表示n字节对齐)

  1. #pragma pack(n)
  2. #pragma pack(push,n)     要和 #pragma pack(pop) 成对使用
  3. __attribute__((aligned(n))); 

结构体声明当中 __attribute__ ((__packed__))关键字:结构体内的变量采用内存紧凑的方式排放。

 也可以写成: __attribute__ ((packed))     可以放在struct 后面或者 } 之后。

 以上结果在Linux 64位系统中运行并验证。

 

posted @ 2021-01-16 16:25  Adan_C  阅读(177)  评论(0编辑  收藏  举报