巨集定義 續行符

2021-04-30 01:55:56 字數 597 閱讀 9215

續行符

巨集定義規定,巨集定義必須在一行裡完成。所以用#define定義巨集定義時,有時為了閱讀方便,就加續行符"/"來換行。在普通**行後面加不加都一樣(vc是自動判斷續行的)。

例如:#define somefun(x, a, b) if(x)x=a+b;else x=a-b;

這一行定義是沒有問題的,但是這樣**很不容易被理解,以後維護起來麻煩,如果寫成:

#define somefun(x, a, b)

if (x)

x = a + b;

else

x = a - b;

這樣理解是好理解了,但是編譯器會出錯,因為它會認為#define somefun(x, a, b)是完整的一行,if (x)以及後面的語句與#define somefun(x, a, b)沒有關係。這時候我們就必須使用這樣的寫法:

#define somefun(x, a, b)/

if (x)/

x = a + b;/

else/

x = a - b;

vc的預處理器在編譯之前會自動將"/"與換行回車去掉,這樣一來既不影響閱讀,又不影響邏輯。

注意:最後一行不要加續行符。

巨集定義中的續行符

巨集定義中的續行符 巨集定義規定,巨集定義必須在一行裡完成。所以用 define定義巨集定義時,有時為了閱讀方便,就加續行符 來換行。在普通 行後面加不加都一樣 vc是自動判斷續行的 例如 define somefun x,a,b if x x a b else x a b 這一行定義是沒有問題的,...

c 中的續行符 和巨集定義的結合使用

c 中經常遇到巨集定義 巨集定義要求的是一行完成 但是一般宣告帶有引數列表的巨集定義的時候,由於函式體字串太長,導致很長不能直觀的看出來,如果自動換行又影響了一行完成的規定 所以誕生了續行符。define somefun x,a,b if x x a b else x a b 這一行定義是沒有問題的...

續行符小記

在c中,有時因為 太長會導致其無法在一行中寫下 比如巨集定義 此時便需要續行符的使用了,便是c中的續行符,最好在它的後面直接新增回車,在下一行再新增注釋這一類 雜物 來提高程式的可理解性。一般而言,續行符較多地是被用於巨集定義中,為了便於人們對巨集的理解。比如說 define somefun x,a...