C言語におけるマクロの定義と使用

2622 ワード

C言語におけるマクロの定義と使用
3種類の前処理命令
マクロ定義
マクロは比較的よく用いられる前処理命令であり,ここでは主にパラメータ付きマクロについて論じる.
パラメータ付きマクロ(関数マクロ)は、次のように定義されます.
#define EXAMPLE(x,y,z)置換リスト
注:マクロの名前と左かっこの間にスペースはありません.
マクロのメリット:
  • プログラムはもっと速いかもしれません.
  • マクロはさらに同意します.

  • マクロの欠点:
  • コンパイル後、コードは通常大きくなります.
  • マクロのパラメータにはタイプチェックがありません.
  • は、ポインタでマクロを指すことができません.
  • マクロは、そのパラメータを複数回計算することができる.

  • ファイルの内容
    じょうけんコンパイル
    前処理命令に適用されるルール
  • 命令はすべて#で
  • を開始する
  • は、命令のシンボル間に任意の数のスペースと水平タブを挿入することができる.
  • 命令は、継続することを明確に示さない限り、常に最初の改行で終了する.
  • 命令は、プログラムの任意の場所に表示され得る.
  • 注釈は、命令と同じ行に置くことができる.
  • # include
    # define PRINT_INT(n) printf(#n " = %d
    ", n)
    # define PRINT_CHAR(s) printf(#s "%s
    ",s)
    int main(int argc,char *argv[]){ int i = 4 , j = 5; char str[] = "Ivan"; PRINT_INT(i/j); PRINT_CHAR(str); return 0; }

    未完待機・・・