C学习杂记(四)sizeof计算联合体大小
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                C学习杂记(四)sizeof计算联合体大小
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                
                            
                            
                            #include <stdio.h>union u1
{char a[13];int b;
};int main(void)
{printf("%d\n", sizeof(u1));return 0;
} 
                        
                        
                        結(jié)果為16。
聯(lián)合體的大小取決于它所有的成員中占用空間最大的一個(gè)成員的大小。u2最大的空間是char[13],但是因?yàn)榱硪粋€(gè)成員int b的存在,u2的對(duì)齊方式變成4,所以u(píng)2的大小必須在4的對(duì)齊上占用空間最接近13,即16。
稍微修改代碼
#include <stdio.h>#pragrma pack(2)union u1 {char a[13];int b; };int main(void) {printf("%d\n", sizeof(u1));return 0; }結(jié)果為14,因?yàn)閷?duì)齊方式改為2了。
總結(jié)
以上是生活随笔為你收集整理的C学习杂记(四)sizeof计算联合体大小的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 蛋糕店加盟费多少钱啊?
- 下一篇: C学习杂记(五)形参实参笔试题
