自作マクロ/定義済みマクロ



■マクロとは?
命令の集まりで、いくつかの命令の集まりを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();
}





Cの基礎のページへ



ホーム PV ランキング