宏定義(不帶參數(shù)的宏定義,帶參數(shù)的宏定義)
1.編譯預處理就是對C源程序進行編譯前,由″編譯預處理程序″對預處理命令行進行處理的過程。
2.C語言中,凡是以″#″開頭的行,都稱為″編譯預處理″命令行。C語言中的編譯預處命令有:#define,#undef,#include,#if,#else,#elif,#endif,#ifdef,#ifndef,#line,#pragma,#error。這些預處理命令組成的預處理命令行必須在一行的開頭以″#″號開始,每行的未尾不得加″;″號,以區(qū)別于C語句、定義和說明語句。
3.不帶參數(shù)的宏定義:命令的一般形式為:
#define標識符字符串
定義中的″標識符″為用戶定義的標識符,稱為宏名。在預編譯時,C預編譯程序?qū)⒊霈F(xiàn)的宏名替換成″字符串″的內(nèi)容,這一過程也稱為宏展開。
4.帶參數(shù)的宏定義:命令的一般形式為
#define宏名(形式參數(shù))字符串
定義中的″字符串″應包含括號中所指定的形式參數(shù)。注意宏名與括號之間不要加空格,否則就成為不帶參數(shù)的宏定義了。
5.預編譯時,遇到帶實參的宏名,則按命令行中指定的字符串從左到右進行置換,原則是:遇到實參則以實參代替,非形參字符原樣保留,從而成展開后的內(nèi)容。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |