內存對齊和補齊

 

對齊:是針對單個成員變量的;

補齊:是針對擺放的所有成員變量的整體而言要對齊;

//4字節的對齊粒度

#pragma  pack(4)       // #pragma pack(n) /* n = 1, 2, 4, 8, 16 */

struct     aa{

      int     ma;

     char   arr[5];

     double  cc;

};

---4字節int---||---5字節arr---3字節對齊||---8字節double---4字節補齊||

4 + 8字節(5 + 3) + 8 + 4 = 24字節

未完待續,抽時間繼續深挖......

 

參考文獻

1. https://blog.csdn.net/cyousui/article/details/17655051

2. https://baike.baidu.com/item/%E5%86%85%E5%AD%98%E5%AF%B9%E9%BD%90  

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章