●オブジェクト形式マクロ(定数定義)
コンパイル前に「COUNT」が「10」に置き換えられて、コンパイルされる。
#include <stdio.h>
#define COUNT 10
main()
{
int n = COUNT;
printf("%d\n", n);
}
●関数形式マクロ
コンパイル前に「MAX(a,b)」が「(a>b?a:b)」に置き換えられて、コンパイルされる。
#include <stdio.h>
#define MAX(a,b) (a>b?a:b)
main()
{
printf("%d\n",MAX(10,11));
printf("%d\n",10>11?10:11);
}
●条件付き取り込み
ヘッダファイルの2重読込の防止
※macro2.hの内容
#ifndef MACRO2
#define MACRO2
/* macro.h の内容 */
#endif