青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

road420

導航

<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

統計

常用鏈接

留言簿(2)

隨筆檔案

文章檔案

搜索

最新評論

閱讀排行榜

評論排行榜

結構體的對齊

由一道面試題來看 Struct 的對界

?

本文節選自宋寶華的C/C++struct深層探索一文,本人對其所描述的struct對齊比較喜歡,為此轉來與大家分享,原文見http://blog.donews.com/21cnbao/archive/2005/09/08/544877.aspx

?

Intel 、微軟等公司曾經出過一道類似的面試題:

1. #include <iostream.h>

2. #pragma pack(8)

3. struct example1

4. {

5. ? ??short a;

6. ? ??long b;

7. };

8. struct example2

9. {

10. ?????? ??char c;

11. ?????? ??example1 struct1;

12. ?????? ??short e;

13. };

14. #pragma pack()

?

15. int main(int argc, char* argv[])

16. {

17. ?????? ??example2 struct2;

18. ??cout << sizeof(example1) << endl;

19. ??cout << sizeof(example2) << endl;

20. ??cout << (unsigned int)(&struct2.struct1) - (unsigned int)(&struct2)

<< endl;

21. return 0;

22. }

問程序的輸入結果是什么?

答案是:

8

16

4

不明白?還是不明白?下面一一道來:

1 、 自然對界

struct 是一種復合數據類型,其構成元素既可以是基本數據類型(如 int 、 long 、 float 等)的變量,也可以是一些復合數據類型(如 array struct 、 union 等)的數據單元。對于結構體,編譯器會自動進行成員變量的對齊,以提高運算效率。缺省情況下,編譯器為結構體的每個成員按其自然對界( natural alignment )條件分配空間。各個成員按照它們被聲明的順序在內存中順序存儲,第一個成員的地址和整個結構的地址相同。

自然對界 (natural alignment) 即默認對齊方式,是指按結構體的成員中 size 最大的成員對齊。

例如:

struct naturalalign

{

char a;

short b;

char c;

};

在上述結構體中, size 最大的是 short ,其長度為 2 字節,因而結構體中的 char 成員 a c 都以 2 為單位對齊, sizeof(naturalalign) 的結果等于 6 ;

如果改為:

struct naturalalign

{

char a;

int b;

char c;

};

其結果顯然為 12 。

?

2 、 指定對界

一般地,可以通過下面的方法來改變缺省的對界條件:

· 使用偽指令 #pragma pack (n) ,編譯器將按照 n 個字節對齊;

· 使用偽指令 #pragma pack () ,取消自定義字節對齊方式。

注意:如果 #pragma pack (n) 中指定的 n 大于結構體中最大成員的 size ,則其不起作用,結構體仍然按照 size 最大的成員進行對界。

例如:

#pragma pack (n)

struct naturalalign

{

char a;

int b;

char c;

};

#pragma pack ()

n 4 8 、 16 時,其對齊方式均一樣, sizeof(naturalalign) 的結果都等于 12 。而當 n 2 時,其發揮了作用,使得 sizeof(naturalalign) 的結果為 8 。

posted on 2006-10-21 13:21 深邃者 閱讀(209) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品在线播放| 久久只精品国产| 亚洲摸下面视频| 巨乳诱惑日韩免费av| 久久国产综合精品| 欧美视频中文一区二区三区在线观看| 免费视频亚洲| 国产精品福利av| 欧美一区二区三区在线视频 | 99国产精品久久久久久久久久| 91久久视频| 欧美亚洲一区二区三区| 欧美成人精品不卡视频在线观看| 亚洲国产欧美一区二区三区同亚洲 | 欧美日韩亚洲一区二区| 麻豆精品视频在线观看| 免费影视亚洲| 欧美成人精品在线播放| 欧美视频在线观看| 国产日韩欧美二区| 亚洲国产婷婷香蕉久久久久久99| 亚洲伦理在线观看| 亚洲免费小视频| 老司机午夜精品视频在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲综合视频在线| 久久一区二区三区超碰国产精品| 欧美电影在线免费观看网站| 99爱精品视频| 久久久一区二区| 国产精品对白刺激久久久| 一区在线播放| 午夜精品视频在线观看| 麻豆成人在线观看| 亚洲日韩欧美一区二区在线| 亚洲三级影片| 欧美在线观看天堂一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品成人国产乱一区| 亚洲福利小视频| 久久国产福利国产秒拍| 亚洲精品网站在线播放gif| 欧美主播一区二区三区美女 久久精品人 | 在线亚洲精品| 裸体丰满少妇做受久久99精品| 国产精品久久久| 亚洲人成网站999久久久综合| 久久aⅴ国产紧身牛仔裤| 亚洲每日在线| 欧美国产一区二区| 亚洲国产欧美日韩精品| 久久手机免费观看| 欧美一区二区黄| 国产精品视频专区| 欧美精品一二三| 一区二区三区蜜桃网| 久久亚洲捆绑美女| 在线亚洲欧美视频| 欧美精品在线一区| 亚洲国产成人精品女人久久久| 午夜视黄欧洲亚洲| 中文亚洲欧美| 国产精品免费一区二区三区在线观看| 日韩一级精品| 91久久精品日日躁夜夜躁欧美| 久久久精品视频成人| 国产专区综合网| 久久久免费观看视频| 欧美一区日本一区韩国一区| 国产欧美精品在线观看| 欧美一区二区三区四区夜夜大片| 一区二区三区日韩精品| 欧美私人网站| 午夜伦欧美伦电影理论片| 在线视频日本亚洲性| 国产精品国产成人国产三级| 亚洲男女毛片无遮挡| 亚洲与欧洲av电影| 国产午夜精品一区二区三区欧美| 久久久久久久久综合| 久久久91精品国产| 亚洲第一精品福利| 亚洲欧洲精品一区二区三区波多野1战4| 蜜桃久久av| 亚洲性视频h| 亚洲综合精品| 影院欧美亚洲| 亚洲人成网站在线播| 欧美日韩一区二区三区在线视频| 亚洲一区免费| 久久av资源网站| 91久久精品美女| 一本久道久久综合狠狠爱| 国产精品高清在线观看| 久久免费偷拍视频| 欧美国产亚洲视频| 久久福利影视| 欧美日韩精品在线| 久久精品女人| 欧美日韩另类在线| 久久米奇亚洲| 国产精品a久久久久| 久热re这里精品视频在线6| 欧美老女人xx| 狼狼综合久久久久综合网| 欧美精品麻豆| 麻豆成人在线| 国产美女精品| 日韩视频永久免费观看| 精久久久久久| 亚洲专区免费| 一区二区三区www| 久久国产婷婷国产香蕉| 夜夜爽夜夜爽精品视频| 久久久精品网| 久久精品国产2020观看福利| 欧美精品免费看| 久久成年人视频| 欧美精品在线免费观看| 久久精品国产久精国产爱| 欧美激情自拍| 久久综合色一综合色88| 欧美视频中文字幕在线| 免费成人av在线| 国产精品一区视频| 亚洲精选视频在线| 亚洲国产日韩欧美| 久久成人亚洲| 久久国产黑丝| 国产欧美午夜| 国产精品99久久99久久久二8| 亚洲免费电影在线| 男女精品网站| 欧美激情第8页| 亚洲福利在线看| 久久精品一区中文字幕| 久久蜜桃香蕉精品一区二区三区| 国产欧美日韩高清| 亚洲欧美在线看| 欧美一区深夜视频| 国产欧美日韩一区二区三区在线| 一区二区三区精品| 亚洲私人影院| 国产精品美女久久| 亚洲欧美日韩在线综合| 久久精品99久久香蕉国产色戒| 国产主播一区二区三区| 久久免费偷拍视频| 亚洲高清免费在线| 一本久道久久久| 国产精品久线观看视频| 亚洲欧美日韩国产成人| 久久不射网站| 国产亚洲成av人在线观看导航| 亚洲亚洲精品在线观看| 欧美专区在线观看一区| 一区二区三区自拍| 欧美大片在线影院| 正在播放欧美视频| 久久九九久久九九| 最新国产拍偷乱拍精品| 欧美日韩 国产精品| 亚洲一区二区少妇| 快播亚洲色图| 亚洲精品视频在线播放| 欧美色偷偷大香| 性久久久久久久久| 亚洲第一级黄色片| 亚洲欧美在线网| 亚洲丁香婷深爱综合| 欧美日韩亚洲91| 欧美在线免费一级片| 亚洲激情第一区| 久久精品国产成人| 亚洲看片一区| 国产一级精品aaaaa看| 欧美高清在线| 欧美一区二区三区婷婷月色| 亚洲国产合集| 久久久久久久久久久久久9999| 91久久精品www人人做人人爽 | 欧美怡红院视频一区二区三区| 美女黄色成人网| 亚洲欧美在线磁力| 1024亚洲| 国产精品综合| 久久成人精品电影| 美国十次成人| 亚洲桃花岛网站| 欧美大片在线看| 亚洲欧美日韩一区二区三区在线| 狠狠爱成人网| 国产精品久久中文| 欧美激情国产日韩| 久久成人这里只有精品| 这里只有视频精品| 亚洲精品在线电影| 欧美国产欧美综合 | 午夜精品www| 亚洲国产中文字幕在线观看|