若是還不知道宏定義的童鞋就查一下吧……點進來的應該都是學過的吧……編程
先舉個栗子:dom
1 #define random(a, b) rand() % b + a
這是一個生成隨機數的宏定義,好比說想生成 1-10000之間的隨機數,就能夠使用random(1, 10000)來生成。(注意:請使用srand來初始化隨機數種子)函數
若是頻繁使用隨機數的話,這個宏比較有用。其特色爲能夠在不影響代碼可讀性的前提上令代碼更簡潔,我不知道從事IT者會不會這麼用,但OIer通常會這麼用。spa
好了,扯了那麼久的淡,如今來談談具體的語法吧!具體語法:code
#define 宏名稱(參數表) 宏體
這個能夠根據上面的栗子多理解理解,還要去多實踐實踐,相信很快就會明白噠~blog
當咱們須要大量寫循環的時候, 能夠用宏來減小代碼量,又不失代碼可讀性。一般這兩個宏是比較經常使用的:io
#define FOR(i, a, b) for (int i = a;i < b;i++)
#define REP(i, a, b) for (int i = a;i <= b;i++)
注:大寫的緣由是防止重名,爲了不重名,有時甚至全部宏都大寫, 譬如REP宏。class