プリプロセッサとマクロとは?ぷりぷろせっさとまくろ
プリプロセッサとマクロとは、コンパイル前にソースを機械的に置換・展開する処理系。ファイル取り込み(include)、記号定数や関数風マクロの展開(define)、条件付きコンパイル(ifdef)を行う。ビルド構成の切り替えや移植性確保の手段として使われるが、型検査を通らないため危険も伴う。
最終更新:2026-10-06
応用情報を最短で暗記・合格する →具体例
デバッグ用のログ出力を #ifdef DEBUG で囲めば、リリースビルドではコードごと消えるため実行時のオーバヘッドがゼロになる。組込みでは、機種ごとのレジスタ定義をマクロで切り替え、同一ソースを複数機種へ展開する使い方が定番。
試験での引っ掛け
関数風マクロは単なるテキスト置換なので、#define SQ(x) x*x に SQ(a+b) を渡すと a+b*a+b に展開されて誤る(括弧で囲めば回避)。また引数が2回評価されるため、SQ(i++) のように副作用のある式を渡すと想定外の結果になる。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。