/* 預處理指令?: ????宏定義?:?就是將代碼中的宏名進行簡單的替代,不進行任何運算; ????????不帶參數(shù)的宏定義?: ????????????基本格式?:? ????????????????#idefine?宏名?宏值????//程序預處理時,會將代碼中,所有的宏名都替代為宏值; ????????????????????宏名書寫規(guī)范?:?全部大寫,單詞之間以"_"分隔; ????????????????????注?:?切記紅定義中,不要以";"結尾,原因在宏定義中默認宏名之后所有的內容均為宏值,因此,一旦以";"結尾,也會將其當做宏值處理; ????????帶參數(shù)的宏定義?: ????????????基本格式?: ????????????????#define?宏名(形參)?宏值????//預處理時,會將接受的實參替代宏值中的形參,而后再將代碼中所有的宏名以宏值替代; ????????????????????形參?:?此處無需寫形參的數(shù)據(jù)類型,因此沒有任何意義; ????????????????????應用?:?此時的宏值多為一行簡單代碼,而某一單一值; ????????注?:?如果在代碼中,宏名被包裹在""中,則預處理時,宏名不會被宏值替代; ????????宏的作用域?:?自定義位置起至文件末尾; ????????提前結束宏的作用域?:?#undef?宏名; ????????宏定義的應用場景?:?常用于記錄一些頻繁使用且繁瑣的數(shù)據(jù); ????條件編譯?:?當條件滿足時,就將對應的代碼塊保留在程序中執(zhí)行; ????????基本格式?: ????????????#if?condition? ????????????????代碼塊; ????????????#elif?condition ????????????????代碼塊; ????????????#else ????????????????代碼塊; ????????????#endif????//當某一個條件滿足時,只保留該條件對應的代碼塊,其他至endif之間的代碼塊全部刪除; ????????其他寫法?: ??????????第一種?: ????????????#ifdef?宏名 ????????????????代碼塊; ????????????#else ????????????????代碼塊; ????????????#endif ??????????第二種?: ??????????????#ifndef?宏名 ??????????????????代碼塊; ??????????????#else ??????????????????代碼塊; ??????????????#endif ????????條件編譯的優(yōu)點?: ????????????1,節(jié)省內存,因為不滿足條件的代碼塊均會被刪除; ????????????2,常用于調試過程,如當我們?yōu)閝q寫一個用戶分組時,需要頻繁登陸qq,以查看效果.因此,在調試過程中,我們就可以把自己的用戶名,密碼寫入條件編譯中的宏定義中,\ ??????????????以節(jié)省我們頻繁登陸輸入用戶名,密碼浪費的時間,而在上傳應用后,只需修改一下條件,即跳轉用戶登陸; ?????文件包含?:?也即將其他文件復制替代本文件中文件包含那一行代碼; ?????????#include?<>????//會先在編譯環(huán)境下查找,找不到,再到系統(tǒng)環(huán)境下查找指定文件; ?????????#include?""????//會現(xiàn)在當前文件目錄下查找指定文件,找不到,再編譯環(huán)境下查找,找不到,再到系統(tǒng)環(huán)境下查找指定文件; ?????注?:?重復導入頭文件,會降低程序執(zhí)行效率,因此可利用條件編譯,寫一個頭文件衛(wèi)士,一旦已經(jīng)導入了該頭文件,就不在重復導入; */
當前題目:C語言之預處理指令
網(wǎng)頁URL:http://m.newbst.com/article6/jesiog.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、軟件開發(fā)、企業(yè)網(wǎng)站制作、App開發(fā)、網(wǎng)站內鏈、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)