国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C/C++語言中結構體的內存分配小例子

2020-01-26 15:45:43
字體:
來源:轉載
供稿:網友

當未用 #pragma 指令指定編譯器的對齊位數時,結構體按最長寬度的數據成員的寬度對齊;當使用了 #pragma 指令指定編譯器的對齊位數時,結構體按最長寬度的數據成員的寬度和 #pragma 指令指定的位數中的較小值對齊。

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

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

打印出來的結果為 1;

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

打印出來的結果為 6;

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

打印出來的結果為 12;

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

打印出來的結果為 24;

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

打印出來的結果為 16;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永昌县| 丰原市| 出国| 玉山县| 永春县| 汉源县| 绥中县| 罗江县| 崇州市| 石门县| 乐安县| 济宁市| 裕民县| 若羌县| 合作市| 平度市| 高邑县| 射洪县| 友谊县| 临江市| 若尔盖县| 双柏县| 馆陶县| 四子王旗| 永新县| 安阳县| 惠东县| 桃源县| 汝州市| 武冈市| 潞西市| 枣庄市| 平山县| 林州市| 定州市| 嵊州市| 金溪县| 澜沧| 朔州市| 公主岭市| 儋州市|