嚴格來說是 _Bool,bool 只是 marco,其目的是為了與 C++ 相容。
使用 bool 時,需 include <stdbool.h>。
至於我用的 TDM-gcc-32﹝4.9.2﹞,因為從此版開始,已經有支援一部份的 C99,故很多 C99 功能可以直接用。
但是預設是 -std=gnu89,我們可以看一下網頁說明。
-std
‘gnu89’
GNU dialect of ISO C90 (including some C99 features). This is the default for C code.
這也說明了為什麼不用指定 -std=c99,就可以使用 bool、"//" C++ 單行註解以及 for loop variable i。
請參考底下連結:
https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/C-Dialect-Options.html#C-Dialect-Options
C 果然還是博大精深,我想我還太嫩了吧。
沒有留言:
張貼留言