一般用法:使用“#”把宏參數變為一個字符串,用”##”把兩個宏參數結合在一起
例子:


















二、防止一個頭文件被重復包含
#ifndef COMDEF_H
#define COMDEF_H
//頭文件內容
#endif
當你所建的工程有多個源文件組成時,很可能會在多個文件里頭包含了同一個頭文件,如果借用上面的宏定義就能夠避免同一個頭文件被重復包含時進行多次編譯。因為當它編譯第一個頭文件時總是沒有定義#define COMDEF_H,那么它將編譯一遍頭文件中所有的內容,包括定義#define COMDEF_H。這樣編譯再往下進行時如果遇到同樣要編譯的頭文件,那么由于語句#ifndef COMDEF_H的存在它將不再重復的編譯這個頭文件。
三、常用的宏定義
__DATE__
進行預處理的日期(“Mmm dd yyyy”形式的字符串文字)
__FILE__
代表當前源代碼文件名的字符串文字
__LINE__
代表當前源代碼中的行號的整數常量
__TIME__
源文件編譯時間,格式微“hh:mm:ss”
參考文章:
C中的預編譯宏定義 http://blog.readnovel.com/article/htm/tid_900939.html
C標準中一些預定義的宏 http://www.programfan.com/article/2883.html
C語言常用宏定義技巧 http://blog.21ic.com/user1/3074/archives/2008/51567.html
C語言宏定義技巧(常用宏定義) http://blog.21ic.com/user1/69/archives/2006/13695.html
宏定義:http://blog.csdn.net/believefym/archive/2007/10/21/1836162.aspx
好好學習!