• <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>
            syhd142  
            日歷
            <2010年12月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678
            統(tǒng)計(jì)
            • 隨筆 - 23
            • 文章 - 122
            • 評(píng)論 - 31
            • 引用 - 0

            導(dǎo)航

            常用鏈接

            留言簿(2)

            隨筆檔案(23)

            文章分類(270)

            文章檔案(122)

            我的豆瓣

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

             
            void[1]:
            void是C語(yǔ)言中的空類型,void的用途有二。
            1、對(duì)函數(shù)返回的限定;
                  如果函數(shù)沒有返回值,則默認(rèn)返回整數(shù)類型,而不是void類型。c++有很嚴(yán)格的類型,不允許函數(shù)不加類型聲明,而編譯器則不這么認(rèn)為檢查這一點(diǎn)在VC6.0中可以驗(yàn)證。所以在編寫代碼的時(shí)候,每個(gè)函數(shù)都應(yīng)該加上返回類型。
            2、對(duì)函數(shù)參數(shù)的限定;
                  在c++中,函數(shù)參數(shù)為void意味著不接受參數(shù),但是在c語(yǔ)言中可以給無(wú)參數(shù)的函數(shù)傳遞任意類型的參數(shù),這點(diǎn)在turbo c中可以驗(yàn)證。

            指針的大小和機(jī)器的位數(shù)有關(guān),在32位機(jī)器上任何類型指針的大小都是4字節(jié),在64位機(jī)器上為8。所以指針大小和類型無(wú)關(guān)。
            void*就是空類型指針,所謂空類型指針就是通用指針類型。它有以下特點(diǎn)。
            1、按照ASC碼標(biāo)準(zhǔn)void指針不能做算術(shù)操作,因?yàn)椴淮_定其指向數(shù)據(jù)類型大小;
            2、c++允許將任何類型的指針賦給void*,但是不允許void指針賦值給其它類型。必須顯示的強(qiáng)制轉(zhuǎn)換。

            其它類型指針相互之間是否也可以強(qiáng)制裝換?
               強(qiáng)制轉(zhuǎn)換后編譯能通過(guò),大部分情況下運(yùn)行也是沒有問(wèn)題的,但是根據(jù)參考文獻(xiàn)[4]的說(shuō)法是容易出問(wèn)題的,因?yàn)槟承〤PU對(duì)某些數(shù)據(jù)類型有對(duì)其限制,這樣在做指針強(qiáng)制轉(zhuǎn)換的時(shí)候就容易出現(xiàn)問(wèn)題。
               其實(shí),其它類型指針之間的轉(zhuǎn)換完全可以通過(guò)使用void*類型來(lái)避免。

            sizeof[2]:

            前面說(shuō)在同一臺(tái)機(jī)器上指針大小是固定的,通過(guò)sizeof測(cè)試int*,char*,bool*,double*都出結(jié)果都是4(32位機(jī)器測(cè)試)。
            今天在程序中memset一個(gè)T*類型的指針,發(fā)現(xiàn)沒有初始化成功,原來(lái)在memset的第三個(gè)參數(shù)中填的是sizeof(T*類型的指針)。特此總結(jié)了一下sizeof的一些問(wèn)題。
            1、char* s="0123456789";
                  sizeof(s)=4,s是一個(gè)指針。
                  sizeof(*s)=1,*s是第一個(gè)元素。
                  strlen(s)=10,s是字符串首地址。
            2、char s[]="0123456789";
                  sizeof(s)=11,s是字符串?dāng)?shù)組,包括'\0'。
                  sizeof(*s)=1,*s是第一個(gè)元素。
                  strlen(s)=10,s是字符串首地址。
            3、char s[20]="0123456789";
                  sizeof(s)=20,s是在內(nèi)存中靜態(tài)分配的大小。
                  sizeof(*s)=1,*s是第一個(gè)元素。
                  strlen(s)=10,s是字符串首地址。

            結(jié)構(gòu)體[3]:

            結(jié)構(gòu)體在字節(jié)對(duì)齊的時(shí)候有三個(gè)原則,有了這三個(gè)原則就很容易的可以計(jì)算出任意一個(gè)結(jié)構(gòu)體的sizeof大小了。
            1、結(jié)構(gòu)體變量的首地址能夠被其最寬基本類型的成員大小所整除;
            2、結(jié)構(gòu)體每個(gè)成員相對(duì)于結(jié)構(gòu)體首地址的偏移量(offset)都是成員大小的整數(shù)倍,如有需要編譯器會(huì)在成員之間加上填充字節(jié)(internal adding);
            3、結(jié)構(gòu)體的總大小為結(jié)構(gòu)體最寬基本類型成員大小的整數(shù)倍,如有需要編譯器會(huì)在最末一個(gè)成員之后加上填充字節(jié)(trailing padding)。

            參考文獻(xiàn):
            [1]、http://blog.sina.com.cn/s/blog_625cce080100kip3.html
            [2]、http://shansun123.iteye.com/blog/398601 
            [3]、http://blog.csdn.net/Linux_Gao/article/details/2612885 
            [4]、http://blog.csdn.net/Linux_Gao/article/details/2612885
            posted on 2011-08-24 22:48 Fucker 閱讀(956) 評(píng)論(0)  編輯 收藏 引用

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


             
            Copyright © Fucker Powered by: 博客園 模板提供:滬江博客
            久久久www免费人成精品| 亚洲午夜久久久精品影院| 欧美粉嫩小泬久久久久久久 | 日韩精品无码久久久久久| 无码人妻久久一区二区三区 | 久久91亚洲人成电影网站| 久久久久亚洲?V成人无码| 欧美午夜精品久久久久免费视| 久久99久久99小草精品免视看| 久久99国产一区二区三区| 国产精品久久成人影院| 国产69精品久久久久观看软件| 国产精品久久久福利| 伊色综合久久之综合久久| 久久久久久综合一区中文字幕| 无码国内精品久久人妻蜜桃| 久久99热这里只有精品国产| 伊人久久大香线蕉亚洲| 一本色道久久88精品综合| 久久夜色精品国产| 热99re久久国超精品首页| 五月丁香综合激情六月久久| 久久亚洲日韩看片无码| 久久人人爽人人爽人人片AV麻豆| 97热久久免费频精品99| 欧美牲交A欧牲交aⅴ久久| 国内精品综合久久久40p| 国产精品久久久久久久app | 久久久噜噜噜久久熟女AA片| 久久精品人成免费| 伊人久久精品无码二区麻豆| 丁香色欲久久久久久综合网| 伊人久久大香线蕉亚洲| 漂亮人妻被黑人久久精品| 乱亲女H秽乱长久久久| 久久国产精品77777| 国产精品久久久久影院嫩草| 久久精品国产福利国产秒| 成人久久精品一区二区三区| 久久精品国产福利国产秒| 国内精品伊人久久久久网站|