在c中,有時因為**太長會導致其無法在一行中寫下(比如巨集定義),此時便需要續行符的使用了,「\」便是c中的續行符,最好在它的後面直接新增回車,在下一行再新增注釋這一類「雜物」,來提高程式的可理解性。
一般而言,續行符較多地是被用於巨集定義中,為了便於人們對巨集的理解。
比如說:#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 xx_debug(fmt,arg...) printf("\033[41;32m <>[%s]\
[%d]\033[0m \033[34m"fmt"\033[0m\n",__function__,__line__, ##arg)
其執行結果便為:
因此,換行符的後接空格需要考慮到。
改變printf的字型的詳細資訊見另一篇部落格:
mysql續行符是什麼 shell續行
linux下命令列的引數可能會很長,特別編譯安裝程式的時候的configure引數。如果直接寫在一行,書寫起來很長,看起來也不美觀還容易漏項。自然就會想到如何將shell的一行命令拆成多行去執行。shell已經為我們準備好了這個續行符 來把一行命令分解成多行 shell命令列下反斜線 有兩種含義 1...
巨集定義 續行符
續行符 巨集定義規定,巨集定義必須在一行裡完成。所以用 define定義巨集定義時,有時為了閱讀方便,就加續行符 來換行。在普通 行後面加不加都一樣 vc是自動判斷續行的 例如 define somefun x,a,b if x x a b else x a b 這一行定義是沒有問題的,但是這樣 很...
反斜槓「 」續行符
的正式的名稱叫做續行符,在普通 行後面加不加都一樣 vc是自動判斷續行的 但是在巨集定義裡面就特別有用,因為巨集定義規定必須用一行完成 define somefun x,a,b if x x a b else x a b 這一行定義是沒有問題的,但是這樣 很不容易被理解,以後維護起來麻煩,如果寫成 ...