C言語マクロサンプル

C言語

xMacro1.c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
    xMacro1.c マクロの基本
*/
#include <stdio.h>
#define MAX 5               /* MAXを5と置き換える                       */
                    /* 置き換えるタイミングはコンパイルするとき */
int main(void)
{
    int i;
     
    for (i=0; i<MAX;i++){        /* for(i=0; i<5; i++){ と同じ意味になる */
        printf("%d\n", i);
    }
 
    return 0;
}

実行結果

0
1
2
3
4

xMacro2.c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
    xMacro2.c マクロの応用
*/
#include <stdio.h>
#define JIJO(x) (x) * (x)           /* JIJO(x)を (x) * (x)と置き換える         */
 
int main(void)
{
    int n;
     
    printf("5の2乗は%dです\n\n", JIJO(5));       /* xに5が入る */
 
    printf("整数を入力して下さい: ");
    scanf("%d", &n);
     
    printf("%dの2乗は%dです\n", n, JIJO(n)); /* xに変数nの内容が入る */
 
    return 0;
}

実行結果

5の2乗は25です

整数を入力して下さい: 12 [Enter]
12の2乗は144です

コメント