c語言結構體大小 sizeof(struct A)


1,數據類型自身對齊

數據類型的起始地址為其大小的整數倍

2,結構體的自身對齊

結構體的自身對齊值為其中最大的成員大小

3,指定對齊

可以使用關鍵詞#pragma pack(1) 來指定結構體的對齊值

4,有效對齊值

有效對齊值為自身對齊值與指定對齊值中較小的一個。(即指定對齊值超過自身對齊值無意義)

 1 #include<stdio.h>
 2 struct {
 3     int a;     //單個為4
 4     char b[3]; // 單個大小為1  因為是數組總和為3 
 5     double c;  //單個為4 
 6 }size; 
 7 int main() {
 8 int v; 
 9 v=sizeof(size);
10 printf ("%d",v);  //結果為 16  為4的整數倍補齊 
11 return 0;
12 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM