自作マクロ/定義済みマクロ
命令の集まりで、いくつかの命令の集まりを1つにしたいうことで巨視的(マクロ)という。また、Cでは、前処理の置換対象になるものをマクロという。
単純マクロ
#define 識別子 置換文字列
引数付きマクロ
#define 識別子 (引数1,引数2・・・引数n) 置換文字列
<自作マクロのサンプル-数値を比較-> #include <stdio.h> #define MACRON 100 //単純マクロ #define BIGBIG(X,Y) ((X)>(Y) ? (X) :(Y)) //引数付きマクロ void main(void) { int buf; buf= BIGBIG(50,MACRON); printf("%dと%dでは%dのほうが大きいです。\n",MACRON,50,buf); getchar(); }
<自作マクロのサンプル-数値を比較->
※結果は「100と50では100のほうが大きいです。」となります。
<定義済みマクロのサンプル-色々なマクロ-> #include <stdio.h> void main(void) { //ソースコードの行番号を取得するマクロ printf("現在%d行目を処理しています。\n",__LINE__); //ソースコードの名前を取得するマクロ printf("このプログラムのパスは%sです。\n",__FILE__); //ソースコードをコンパイルした日付を取得するマクロ printf("このプログラムは%sにコンパイルしました。\n",__DATE__); //ソースコードをコンパイルした時間を取得するマクロ printf("このプログラムは%sにコンパイルしました。\n",__TIME__); getchar(); }
<定義済みマクロのサンプル-色々なマクロ->