亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C/C++語言中結(jié)構(gòu)體的內(nèi)存分配小例子

 更新時(shí)間:2013年10月11日 09:05:18   作者:  
當(dāng)未用 #pragma 指令指定編譯器的對齊位數(shù)時(shí),結(jié)構(gòu)體按最長寬度的數(shù)據(jù)成員的寬度對齊;當(dāng)使用了 #pragma 指令指定編譯器的對齊位數(shù)時(shí),結(jié)構(gòu)體按最長寬度的數(shù)據(jù)成員的寬度和 #pragma 指令指定的位數(shù)中的較小值對齊

當(dāng)未用 #pragma 指令指定編譯器的對齊位數(shù)時(shí),結(jié)構(gòu)體按最長寬度的數(shù)據(jù)成員的寬度對齊;當(dāng)使用了 #pragma 指令指定編譯器的對齊位數(shù)時(shí),結(jié)構(gòu)體按最長寬度的數(shù)據(jù)成員的寬度和 #pragma 指令指定的位數(shù)中的較小值對齊。

#pragma 指令格式如下所示:
#pragma pack(4)     // 或者 #pragma pack(push, 4)

舉例如下:(機(jī)器字長為 32 位)
    struct
    {
        char a;
    }test;
    printf("%d/n", sizeof test);

打印出來的結(jié)果為 1;

    struct
    {
        char a;
        short b;
        char c;
    }test;
    printf("%d/n", sizeof test);

打印出來的結(jié)果為 6;

    struct
    {
        char a;
        int b;
        char c;
    }test;
    printf("%d/n", sizeof test);

打印出來的結(jié)果為 12;

    struct
    {
        char a;
        double b;
        char c;
    }test;
    printf("%d/n", sizeof test);

打印出來的結(jié)果為 24;

    #pragma pack(4)
    struct
    {
        char a;
        double b;
        char c;
    }test;
    printf("%d/n", sizeof test);

打印出來的結(jié)果為 16;

相關(guān)文章

最新評論