在C語言中,宏定義也是一種很重要的概念揩环∩ε可以使用“#define”來定義一個常量,也可以用“#define”來實(shí)現(xiàn)一些功能丰滑。這一篇文章中顾犹,我們將介紹一下,在C語言中吨枉,使用宏定義“#define”實(shí)現(xiàn)的一個小的例子蹦渣。
我們可以借助“#define”,將很多關(guān)鍵字和函數(shù)貌亭,甚至是標(biāo)點(diǎn)符號柬唯,來改成別的名字。比如:如下程序所示:
在C語言程序中圃庭,宏定義“define”的一種有趣的用法
上述程序锄奢,突然一看,似乎已經(jīng)與C語言代碼差距較遠(yuǎn)剧腻。在第15行拘央,隱隱約約地看到了“hello world”字樣,如果運(yùn)行以上的程序书在,最終灰伟,程序的執(zhí)行結(jié)果是:
在C語言程序中,宏定義“define”的一種有趣的用法
當(dāng)運(yùn)行程序時儒旬,屏幕上顯示出了“hello world”字樣栏账,其實(shí),上述程序栈源,就是取代了最基礎(chǔ)的C語言程序:在屏幕輸出“hello world”挡爵。原C語言程序,如下圖所示:
在C語言程序中甚垦,宏定義“define”的一種有趣的用法
上述C語言程序茶鹃,就是使用printf函數(shù),在屏幕上輸出“hello world”艰亮,在示例代碼1中闭翩,代碼變得認(rèn)不出了,是因?yàn)樵诘?行到第9行迄埃,使用了“#define”宏定義語句男杈,將“int”、“void”调俘、“main”伶棒、“printf”旺垒、“return”等字樣,替換為了不同長度的下劃線肤无。
宏定義先蒋,其實(shí)就是在程序編譯的時候,將宏替換為相關(guān)字符宛渐。如在代碼1中竞漾,一個下劃線,代指“int”字樣窥翩;兩個下劃線业岁,代指“main”字樣;三個下劃線寇蚊,代指“void”字樣笔时;六個下劃線,代指“printf”字樣仗岸;七個下劃線允耿,代指“return”字樣。
在代碼1中扒怖,還將左小括號和右小括號较锡,使用下劃線代替了。當(dāng)然盗痒,也可以將“hello world”這個字符串本身蚂蕴,使用其他字符來進(jìn)行替代。
在C語言程序中俯邓,宏定義“define”的一種有趣的用法
在使用“#define”進(jìn)行將相關(guān)字樣修改后骡楼,C語言就很難被認(rèn)出了。這是“#define“宏定義的一個很有趣的小實(shí)驗(yàn)看成。
“#define”宏定義的很重要的作用君编,就是可以定義一個宏跨嘉,然后川慌,在代碼中使用這個定義的宏,使得代碼在修改的時候祠乃,“一處修改梦重,多處生效”。
通過上述這個小實(shí)驗(yàn)亮瓷,我們就能進(jìn)一步體會到琴拧,使用宏,可以替代程序中的一些字符串嘱支,甚至是可以替代C語言自身的關(guān)鍵字蚓胸。
在C語言程序中挣饥,宏定義“define”的一種有趣的用法
學(xué)習(xí)C++的幾點(diǎn)建議:
1.了解如今軟件公司需要的都是什么樣的人才,雖然說現(xiàn)在都是要有工作經(jīng)驗(yàn)的沛膳,但是想找始終都可以找到扔枫,按照人家的標(biāo)準(zhǔn)去學(xué),找工作是沒有問題的锹安。
2.你要知道自學(xué)C++應(yīng)該怎么去做規(guī)劃短荐,沒有規(guī)劃的學(xué)習(xí)真的太難了,像一個無頭蒼蠅叹哭,學(xué)完了也是沒有用忍宋,狼時間。
3.你必須有人指導(dǎo)风罩,因?yàn)槟闶浅鯇W(xué)者糠排,想通過都靠自己學(xué)好web前端并且找工作,那幾乎是不可能的泊交。
4.你要知道學(xué)習(xí)C++應(yīng)該怎么學(xué)乳讥,因?yàn)閷W(xué)習(xí)方法是學(xué)好最基本的東西,如果學(xué)的沒有效率那還是停住吧廓俭。
5.視頻不要無腦的看云石,作為初學(xué)者書盡量也別看,不僅很難看懂研乒,就算看懂了也不會寫汹忠。
如果大家對于學(xué)習(xí)C++有任何問題,可以隨時來咨詢我雹熬,關(guān)注我的微信公眾號“輕松學(xué)習(xí)C加加”宽菜,里面有C++的學(xué)習(xí)資料以及學(xué)習(xí)方法和如何找工作的下載地址,然后我的C++2000人交流學(xué)習(xí)群【五六七六二五六六八】希望大家可以少走彎路