1.預(yù)處理是C語(yǔ)言的一部分嗎?
2.包含“#”的都是預(yù)處理嗎?
3.預(yù)處理后面都不需要加;嗎?
下面是ANSI標(biāo)準(zhǔn)定義的C語(yǔ)言預(yù)處理指令:

另外,ANSC還定義了如下宏:
_LINE_ 表示正在編譯的文件的行號(hào)
_FILE_ 表示正在編譯的文件的名字
_DATE_ 表示編譯時(shí)刻的日期字符串,例如: "25 Dec 2007"
_TIME_ 表示編譯時(shí)刻的時(shí)間字符串,例如: "12:30:55"
_STDC_ 判斷該文件是不是定義成標(biāo)準(zhǔn)C
如果你用的是標(biāo)準(zhǔn)編譯器,理論上支持上宏定義,當(dāng)然,如果不是標(biāo)準(zhǔn)的話,有可能支持一部分,或者完全不支持。注意:宏名的書(shū)寫由標(biāo)識(shí)符與兩邊各二條下劃線構(gòu)成。
現(xiàn)在回到剛開(kāi)始的問(wèn)題:
1.預(yù)處理命令不是C語(yǔ)言文本的內(nèi)容,是某個(gè)編譯工具的功能,不同的編譯工具,功能及命令是可能不同的.
2.----------------
3.---------------
還有兩個(gè)經(jīng)典的問(wèn)題:
***“#define M 100”是宏定義嗎?顯然不是,去掉雙引號(hào)的話,確實(shí)是宏定義,但是加上以后就是字符串了...
***C語(yǔ)言程序的執(zhí)行入口在哪?或者說(shuō)從哪兒開(kāi)始?是main()函數(shù)嗎?為什么?
析:
C語(yǔ)言程序的入口函數(shù)與開(kāi)發(fā)工具及提供的運(yùn)行庫(kù)有關(guān),通常在鏈接是可以指定。在鏈接時(shí),指定入口函數(shù),但入口函數(shù)必須是運(yùn)行啟動(dòng)庫(kù)中支持的入口函數(shù),如:mainCRTStartup 就是調(diào)用會(huì)調(diào)用主函數(shù) main() 的入口函數(shù)。因此,入口函數(shù)是運(yùn)行庫(kù)提供的,當(dāng)然你也能定制自己的運(yùn)行庫(kù),自己編寫入口函數(shù),入口函數(shù)主要是完成內(nèi)存及運(yùn)行庫(kù)的初始化工作, 在C語(yǔ)言中 main函數(shù)是主函數(shù),就是入口函數(shù)完成初始化工作后調(diào)用的函數(shù)。不同的初始化環(huán)境,有不同的入口函數(shù)及主程序....