亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)英語 > 專業(yè)英語 > 計(jì)算機(jī)英語 > c中bool的用法

      c中bool的用法

      時(shí)間: 長(zhǎng)思709 分享

      c中bool的用法

        cc中bool的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下cc中bool的用法的用法,希望對(duì)你們有用。

        cc中bool的用法的用法如下:

        我們知道在C++里有專門的bool類型,用來表示真或假。但是在C語言里沒有這樣的類型(至少我是一直這么認(rèn)為的),表達(dá)式的值0為假,非0為真。所以條件判斷語句( if(...)、while(...) )非常靈活,甚至一個(gè)指針類型都可以是條件表達(dá)式。

        為了使程序更清晰,我們常常會(huì)給出如下的宏定義:

        typedef int BOOL;

        #define TRUE 1

        #define FALSE 0

        這是最常見的寫法,能被任何C語言編譯器認(rèn)可。

        今天我在一段程序里看見這么一行 #include <stdbool.h>,這個(gè)陌生的頭文件還以std打頭而且還和bool有關(guān),引起了我的警覺,立刻百度之。得知這是C99標(biāo)準(zhǔn)新增的頭文件,意在引入bool類型,使之和C++兼容。隨后我看了一下這個(gè)頭文件的源代碼,內(nèi)容如下:

        /*

        * ISO C Standard: 7.16 Boolean type and values <stdbool.h>

        */

        #ifndef _STDBOOL_H

        #define _STDBOOL_H

        #ifndef __cplusplus

        #define bool _Bool

        #define true 1

        #define false 0

        #else /* __cplusplus */

        /* Supporting <stdbool.h> in C++ is a GCC extension. */

        #define _Bool bool

        #define bool bool

        #define false false

        #define true true

        #endif /* __cplusplus */

        /* Signal that all the definitions are present. */

        #define __bool_true_false_are_defined 1

        #endif /* stdbool.h */

        這個(gè)頭文件很短,而且也很明了,不過我對(duì)_Bool這個(gè)類型產(chǎn)生的興趣。又一翻百度,發(fā)現(xiàn)這是C99標(biāo)準(zhǔn)引入的新的關(guān)鍵字。對(duì),是關(guān)鍵字,而不是宏定義,也不是typedef。通過sizeof(_Bool);得知這個(gè)類型占1個(gè)字節(jié),而且無論給這個(gè)類型的變量賦任何非0整數(shù)值,其值都是1,這也說明了他不是其他整數(shù)類型的別名。

        好了,其實(shí)說白了,C語言不是沒有布爾類型,只能說在C99標(biāo)準(zhǔn)之前沒有?,F(xiàn)在只要在源文件中包含stdbool.h這個(gè)頭文件,就可以在C語言里像C++那樣使用bool類型了。

      熱門文章

      537056