宏是什么功能(宏是什么)

導讀 您好,現在漢漢來為大家解答以上的問題。宏是什么功能,宏是什么相信很多小伙伴還不知道,現在讓我們一起來看看吧!1、C++ 宏定義將一個標識...

您好,現在漢漢來為大家解答以上的問題。宏是什么功能,宏是什么相信很多小伙伴還不知道,現在讓我們一起來看看吧!

1、C++ 宏定義將一個標識符定義為一個字符串,源程序中的該標識符均以指定的字符串來代替,C++的三個主要的預處理命令之一(C語言的預處理主要有三個方面的內容: 1.宏定義; 2.文件包含; 3.條件編譯。

2、 預處理命令以符號“#”開頭)。

3、定義的格式有如下幾種:#define<宏名><宏體>其中,<宏名>是一個標識符,<宏體>是被替換用的字符串。

4、例如:#define PI 3.14定義改代碼后,把程序中全部的標識符PI換成3.14。

5、#define<宏名>(<參數表>)<宏體>其中,<宏名>是一個標識符,<參數表>中的參數可以是一個,也可以是多個,視具體情況而定,當有多個參數的時候,每個參數之間用逗號分隔。

6、<宏體>是被替換用的字符串,宏體中的字符串是由參數表中的各個參數組成的表達式。

7、例如:#define F(a,b) a+b如果在程序中出現如下語句,int r,a=1,b=1;r=F(a,b);則被替換為:r=a+b;注意事項:預處理命令后通常不加分號,宏定義也不例外,由于宏定義只是用宏名對一個字符串進行簡單的替換,因此如果在宏定義命令后加了分號,將會連同分號一起進行置換。

8、使用#define定義的標識符不是變量,它只用作宏替換,因此不占有內存。

9、?習慣上用大寫字母表示<宏名>,這只是一種習慣的約定,其目的是為了與變量名區分,因為變量名通常用小寫字母。

10、宏定義可以嵌套,已被定義的標識符可以用來定義新的標識符。

11、在書寫帶參數的宏定義時,<宏名>與左括號之間不能出現空格,否則空格右邊的部分都作為宏體。

12、在書寫#define 命令時,注意<宏名>和<宏體>之間用空格分開,而不是用等號連接。

本文就為大家分享到這里,希望小伙伴們會喜歡。

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!