重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

c言語でマクロを定義した後に"\"が記述されていることがありますが、これはどういう意味なのでしょう

A 回答 (3件)

C言語において U+005C バックスラッシュ という文字は、


直後に続く文字を、通常とは異なる意味に変換(エスケープ)する役割があります。

行末にバックスラッシュを置けば、
直後に続く「改行の制御文字」を無視するという意味になり、
行がそのまま続いているように扱わせることが出来ます。
例)
#define foo(a) cos(a) \
+ sin(a)

#define foo(a) cos(a) + sin(a)

マクロを定義する #define などの命令は、C言語のなかでは珍しく行単位でしか記述できない構文なので、
複雑なことを行わせる場合に複数行で記載するため、この記述がよく使われます。

ちなみに U+005C バックスラッシュという文字コードは、
かつて各国がバラバラに文字コードを定義していた時代に、日本では円記号を割り当てていた名残で、
いまでも環境によっては円記号として表示されることがありますのでご注意ください。
参考)
https://ja.wikipedia.org/wiki/ISO/IEC_646
    • good
    • 0

C言語のマクロの基本について


http://www.c-lang.org/detail/macro_basic.html

複数行のマクロ
マクロが長い場合、複数行に分けて記述したいことがあります。
その場合は、行の終わりにバックスラッシュ(\)をつけて改行します。
この時、バックスラッシュの後には何を書いてもいけません。コメントや空白文字類も書くことはできません。
バックスラッシュは、開発している環境によっては、円記号(¥)と表示されることもあります。
    • good
    • 0

単に複数行にしてるだけなんじゃん?



あなたが見てるソースを見ないとわかりません
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!