• <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>

            The Fourth Dimension Space

            枯葉北風(fēng)寒,忽然年以殘,念往昔,語(yǔ)默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢(mèng)令

            注意一個(gè)細(xì)節(jié)

            #include<iostream>
            using namespace std;


            struct node {
                
            int a;
                
            char b;
            }
            ;

            int main ()
            {
                cout
            <<sizeof(node)<<endl;
                system(
            "pause");
                
            return 0;

            }

            這段代碼運(yùn)行后 您認(rèn)為應(yīng)該輸出幾呢?
            上課的時(shí)候老師突然提出了這樣一個(gè)問題,當(dāng)時(shí)我想都沒想 直接回答了 5。
            呵呵 答案當(dāng)然是錯(cuò)的 現(xiàn)在來運(yùn)行一下這個(gè)程序 發(fā)現(xiàn)這個(gè)程序的結(jié)果是8;

             
            PS:感謝樓下兩位朋友的提問 讓問題變得更有意思了 內(nèi)部原理究竟是怎樣的呢?希望知道的朋友能夠予以解答
            我在這里僅給出一些測(cè)試現(xiàn)象 
             struct node
            {
            };
            輸出為1

            struct node
            {
            char a;
            };
            輸出為1

            struct node
            {
            int a;
            double b;
            };
            輸出為16

            struct node
            {
            char a;
            char b;
            char c;
            char d;
            char e;
            }
            輸出為5

            posted on 2009-03-26 00:10 abilitytao 閱讀(321) 評(píng)論(7)  編輯 收藏 引用

            評(píng)論

            # re: 注意一個(gè)細(xì)節(jié) 2009-03-26 00:29 陳梓瀚(vczh)

            錯(cuò)
            你可以把上面的int改成double,你會(huì)發(fā)現(xiàn)結(jié)果是16。  回復(fù)  更多評(píng)論   

            # re: 注意一個(gè)細(xì)節(jié) 2009-03-26 15:27 Sunshine Alike

            @陳梓瀚(vczh)
            是啊,我試過之后發(fā)現(xiàn)int和double兩個(gè)成員一起size是16,能解釋一下原因么,因?yàn)橐cdouble進(jìn)行對(duì)齊么?  回復(fù)  更多評(píng)論   

            # re: 注意一個(gè)細(xì)節(jié) 2009-03-27 22:00 Wisely

            這跟data structure alignment有關(guān)
            而且通常是compiler & OS dependent
            你可以google一下 應(yīng)該可以找到很多介紹  回復(fù)  更多評(píng)論   

            # re: 注意一個(gè)細(xì)節(jié) 2009-03-27 22:22 abilitytao

            @Wisely
            搜過了 但是貌似沒有結(jié)果   回復(fù)  更多評(píng)論   

            # re: 注意一個(gè)細(xì)節(jié) 2009-03-28 00:23 Sunshine Alike

            @abilitytao
            我今天查到一篇文章,里面好像有這方面的解釋
            原文地址
            http://m.shnenglu.com/andxie99/archive/2006/10/26/14230.html  回復(fù)  更多評(píng)論   

            # re: 注意一個(gè)細(xì)節(jié) 2009-04-01 23:20 pp

            傳說中的內(nèi)存對(duì)齊機(jī)制......  回復(fù)  更多評(píng)論   

            # re: 注意一個(gè)細(xì)節(jié) 2009-04-01 23:22 pp

            補(bǔ)充:
            一般情況下XX寧可犧牲一點(diǎn)內(nèi)存,可以大大提高效率
            嘻嘻~
              回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            精品综合久久久久久98| 久久播电影网| 性欧美大战久久久久久久久| 久久人人爽人人爽人人片AV高清 | 中文国产成人精品久久不卡| 久久久久久久久久久| 日日狠狠久久偷偷色综合96蜜桃 | 久久亚洲电影| 午夜福利91久久福利| 麻豆av久久av盛宴av| 国产欧美一区二区久久| 青青草原综合久久大伊人导航| 亚洲国产成人乱码精品女人久久久不卡| 久久精品国产清自在天天线| 香蕉久久夜色精品升级完成| 久久精品人人做人人爽电影| 精品久久久久久无码不卡| 国产成人久久AV免费| 色婷婷综合久久久久中文字幕| 无码日韩人妻精品久久蜜桃| 久久本道久久综合伊人| …久久精品99久久香蕉国产| 亚洲国产成人精品91久久久 | 亚洲AV无码久久| 麻豆久久| 成人a毛片久久免费播放| 无码伊人66久久大杳蕉网站谷歌 | 久久精品亚洲中文字幕无码麻豆| 久久亚洲中文字幕精品一区| 97久久久精品综合88久久| 久久这里只有精品首页| 久久久久人妻精品一区三寸蜜桃 | 久久福利资源国产精品999| 久久精品二区| 精品久久久久久国产免费了| 久久99中文字幕久久| 精品久久久噜噜噜久久久| 久久精品国产亚洲av瑜伽| 久久精品国产精品亚洲| 国产成人无码精品久久久免费| 久久99精品国产麻豆|