條件編譯:
在編譯乙個程式的時候我們如果要將一條(一組)語句編譯或放棄是很方便的因為我們有條件編譯
比如除錯性的**,刪除可惜,保留又礙事,我們就可以選擇條件編譯
常見的條件編譯語句:
1.
#if 常量表示式
//……
#endif
//常量表示式由處理器求值,因為變數在執行事才會建立,而這些條件編譯在預處理階段
2.多分支的條件編譯
#if 常量表示式
//……
#elif 常量表示式
//……
#else
//……
#endif
3.判斷是否被定義
#if defined(symbol)
#ifdef symbol
#if !defined(symbol)
#ifdef symbol
4.巢狀指令
#if defined(os_unix)
#ifdef option1
//……
#endif
#ifdef option2
//……
#endif
#endif
標頭檔案被包含的方式:
windows:c:\program files(x86)\microsoft visual studio 9.0\vc\include
linux:\user\include
注:" "也可用於庫檔案,但是查詢的效率比較低,也不易區分庫檔案和本地檔案
問:標頭檔案中的 ifndef/define/endif 幹什麼用?
答:防止標頭檔案的重複引入
其他預處理指令
1.#error
2.#program
#program warning (disable:4996)
3.line
main()函式的引數解析
1.main()函式的原型:
int main(int argc,char *argv,char *envp)
2.引數分析
1)argc:整型變數,標識命令列引數的個數
2)argv:字元指標陣列,指向乙個字串,這個字串就是命令列引數的每乙個引數
3)envp:字元指標陣列,陣列的每乙個元素是乙個指向乙個環境變數的字元指標。
ctype標頭檔案所包含的函式
include 的函式 c 中應該是 include c中應該是 include 以下為字元函式庫中常用的函式 函式名稱 返回值isalnum 如果引數是字母數字,即字母或數字,該函式返回true isalpha 如果引數是字母,該函式返回真 isblank 如果引數是空格或水平製表符,該函式返回t...
main函式體與標頭檔案學習小結
標頭檔案 舉例 include 使用函式時宣告在此檔案,將所有內容原本拷貝在這個檔案中。c語言規定必須要宣告或定義才能使用,每個函式都會對應標頭檔案。include 標頭檔案確定。標頭檔案的位置,的內容是預設指定的乙個編譯器c檔案的目錄。自定義標頭檔案 舉例 include stdio.h 標頭檔案...
標頭檔案的相互包含
標頭檔案的相互包含在編譯時如果順序不注意就很容易造成編譯錯誤。遇到乙個標頭檔案,一開始並沒有包含其他標頭檔案而是定義了一些列舉,然後再包含另外乙個標頭檔案,這樣就很類似於 1 1 2 1 1 在1標頭檔案中包含2標頭檔案,預處理時就是以這樣的形式處理交給編譯器,原本的用意是在1標頭檔案的包含2之前的...