今回は、記号定数を使ってみましょう。
プログラム例 その1
#include <stdio.h>
void main(void) {
int a = 0, i;
for (i=1; i<=10; i++) {
a = a + i;
}
printf("%dから%dの合計は%dです\n", 1, 10, a);
} |
上記プログラムは1から10まで合計を表示しますが、
10から100までを合計を表示するように改造してみましょう。
プログラム例 その2
#include <stdio.h>
void main(void) {
int a = 0, i;
for (i=10; i<=100; i++) {
a = a + i;
}
printf("%dから%dの合計は%dです\n", 10, 100, a);
} |
赤字の4箇所を直せばOKですが、もっと便利な方法があります。
プログラム例 その3
#include <stdio.h>
#define FROM 101
#define TO 1001
void main(void) {
int a = 0, i;
for (i=FROM; i<=TO; i++) {2
a = a + i;
}
printf("%dから%dの合計は%dです\n", FROM, TO, a);3
} |
1が記号定数と呼ばれる書き方です。
この時、文末にセミコロンは付けませんので、注意して下さい。
プログラムの中にFROMと言う文字を発見したら10と置き換えてくれ。
という意味になります。
同じくTOと言う文字を発見したら100と置き換えてくれ。という意味になります。
そして2で早速使っています。FROMの部分が10に、
TOの部分が100に置き換わります。
最後に3でも同じように置き換えられ、表示されます。
この方法だと1の部分だけ書き換えればOKとなり、
記号定数を使わないプログラム例その2と比べて修正量が減り、大変便利です。
今は修正箇所が4つだけなので、大した事がないと思われるかもしれませんが、
大規模なプログラムとなると修正量が半端ではなく、記号定数の使用は必須です。
ちなみにdefineはデファインと読みます。
また、記号定数に使う文字は、一般的に大文字を使う事が多いです。
スポンサードリンク
|