マクロとは

まくろ

C言語で #define によって名前を付けた、文字の並びの置き換え。#define BUF_SIZE 64 のような定数の名前や、#define SQUARE(x) ((x) * (x)) のような引数を取る関数形式のマクロがあり、コンパイルの前にプリプロセッサが展開する。展開は文字の置き換えにすぎないので、引数や全体を括弧で囲まないと演算子の優先順位で意図と違う式になり、SQUARE(i++) のように副作用のある引数は複数回評価される。

「マクロ」は、1分野の2問の練習問題に出てきます(C言語の基礎など)。

この用語の分野: C言語の基礎

解説の中の「マクロ」

「マクロ」が出てくる問題(2問)

  1. #define で定義したマクロ SQUARE を使う上のコードを実行したときの出力として、正しいものはどれか。
  2. 上のコードを main 関数の中に書いて実行したときの出力として、正しいものはどれか。

C言語の基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

プリプロセッサ 引数 未定義動作 アライメントとパディング 関数ポインタ 共用体 構造体 整数拡張 ダングリングポインタ 動的メモリ確保

用語集の一覧へ