注釋不能嵌套士鸥;
如果你試圖在一段代碼的首尾分別加上/**/符號(hào)來”注釋掉“這段代碼,如果這段代碼內(nèi)部原先就有注釋存在谆级,這樣做就會(huì)出問題烤礁。要從邏輯上刪除一段C代碼,更好的辦法是使用#if指令肥照。
#if 0
code……
#endif
預(yù)處理指令脚仔,是由于預(yù)處理器解釋的。預(yù)處理器讀入源代碼舆绎,根據(jù)預(yù)處理執(zhí)行對(duì)源代碼進(jìn)行修改鲤脏,然后再把修改過的源代碼遞交給編譯器。
對(duì)于inlcude指令吕朵,預(yù)處理器處理的的結(jié)果就是把包含的內(nèi)容寫到inlcude所在位置猎醇。
函數(shù)原型中參數(shù)的名字并非必需;
另外如果函數(shù)原型中的參數(shù)前有const修飾努溃,那么在函數(shù)內(nèi)部就不會(huì)修改函數(shù)調(diào)用者所傳遞的這兩個(gè)參數(shù)硫嘶;
函數(shù)返回值有const修飾的作用:分為返回值是指針還是數(shù)值(數(shù)值是沒意意義的),http://blog.csdn.net/bigleo/article/details/9001560
const修飾其他關(guān)鍵詞的區(qū)別:http://blog.csdn.net/stephen_yu/article/details/51789981
如果一個(gè)程序的源代碼有幾個(gè)源文件組成茅坛,那么使用某個(gè)其他源文件中函數(shù)的源文件必須寫明該函數(shù)的原型音半。把原型放在頭文件中并使用#include指令包含它們,可以避免由于同一個(gè)聲明的多份拷貝而導(dǎo)致的維護(hù)性問題贡蓖。
一個(gè)有趣點(diǎn):用ch=getchar()讀取字符的時(shí)候,為什么要聲明為int煌茬?int比char大的多俺馄獭?不浪費(fèi)嗎坛善?
原因是getchar讀取文件的時(shí)候晾蜘,讀到文件末尾標(biāo)識(shí)符時(shí)邻眷,ch會(huì)被賦值為EOF。而實(shí)際上EOF是一個(gè)整型值剔交,它的位數(shù)比字符類型要多肆饶。