在C語言程序中,宏定義「define」的一種有趣的用法

在C語言中,宏定義也是一種很重要的概念。可以使用“#define”來定義一個常量,也可以用“#define”來實現一些功能。這一篇文章中,我們將介紹一下,在C語言中,使用宏定義“#define”實現的一個小的例子。

我們可以藉助“#define”,將很多關鍵字和函數,甚至是標點符號,來改成別的名字。比如:如下程序所示:

在C語言程序中,宏定義“define”的一種有趣的用法

上述程序,突然一看,似乎已經與C語言代碼差距較遠。在第15行,隱隱約約地看到了“hello world”字樣,如果運行以上的程序,最終,程序的執行結果是:

在C語言程序中,宏定義“define”的一種有趣的用法

當運行程序時,屏幕上顯示出了“hello world”字樣,其實,上述程序,就是取代了最基礎的C語言程序:在屏幕輸出“hello world”。原C語言程序,如下圖所示:

在C語言程序中,宏定義“define”的一種有趣的用法

上述C語言程序,就是使用printf函數,在屏幕上輸出“hello world”,在示例代碼1中,代碼變得認不出了,是因為在第3行到第9行,使用了“#define”宏定義語句,將“int”、“void”、“main”、“printf”、“return”等字樣,替換為了不同長度的下劃線。

宏定義,其實就是在程序編譯的時候,將宏替換為相關字符。如在代碼1中,一個下劃線,代指“int”字樣;兩個下劃線,代指“main”字樣;三個下劃線,代指“void”字樣;六個下劃線,代指“printf”字樣;七個下劃線,代指“return”字樣。

在代碼1中,還將左小括號和右小括號,使用下劃線代替了。當然,也可以將“hello world”這個字符串本身,使用其他字符來進行替代。

在C語言程序中,宏定義“define”的一種有趣的用法

在使用“#define”進行將相關字樣修改後,C語言就很難被認出了。這是“#define“宏定義的一個很有趣的小實驗。

“#define”宏定義的很重要的作用,就是可以定義一個宏,然後,在代碼中使用這個定義的宏,使得代碼在修改的時候,“一處修改,多處生效”。

通過上述這個小實驗,我們就能進一步體會到,使用宏,可以替代程序中的一些字符串,甚至是可以替代C語言自身的關鍵字。

在C語言程序中,宏定義“define”的一種有趣的用法

學習C++的幾點建議:

1.瞭解如今軟件公司需要的都是什麼樣的人才,雖然說現在都是要有工作經驗的,但是想找始終都可以找到,按照人家的標準去學,找工作是沒有問題的。

2.你要知道自學C++應該怎麼去做規劃,沒有規劃的學習真的太難了,像一個無頭蒼蠅,學完了也是沒有用,狼時間。

3.你必須有人指導,因為你是初學者,想通過都靠自己學好web前端並且找工作,那幾乎是不可能的。

4.你要知道學習C++應該怎麼學,因為學習方法是學好最基本的東西,如果學的沒有效率那還是停住吧。

5.視頻不要無腦的看,作為初學者書儘量也別看,不僅很難看懂,就算看懂了也不會寫。

如果大家對於學習C++有任何問題,可以隨時來諮詢我,關注我的頭條號,私信我“資料”會自動回覆C++的學習資料以及學習方法和如何找工作的下載地址,還有我的C++2000人交流學習囷,希望大家可以少走彎路。


分享到:


相關文章: