C提供的預(yù)處理功能主要有以下三種:
1.宏定義:#define 標識符 字符串? ? ? 例如:# define PI 3.1415926
∨吧搿2.文件包含:其一般形式為:? ?#include "文件名"(自己寫的文件)或 #include <文件名>(庫中包含的文件)
3.條件編譯:#ifdef 標識符
? ? ? 程序段1
∨蓟荨#else
? ? ? 程序段2
『瞿酢#endif
宏定義不是C語句谢床,不必在行末加分號〕龈铮可以用#undef命令終止宏定義的作用域渡讼。
宏定義是用宏名代替一個字符串骂束,只作簡單置換耳璧,不作正確性檢查。
在編譯時并不是分別對兩個文件分別進行編譯展箱,然后再將它們的目標程序連接的旨枯,而是在經(jīng)過編譯預(yù)處理后將頭文件format.h包含到主文件中,得到一個新的源程序混驰,然后對這個文件進行編譯攀隔,得到一個目標(.obj)文件。
一個#include命令只能指定一個被包含文件栖榨,如果要包含n個文件竞慢,要用n個#include命令。
在一個被包含文件中又可以包含另一個被包含文件治泥,即文件包含是可以嵌套的筹煮。
#define U16 int? ?U16可以表示int