スポンサードリンク
HOME > C言語 > プリプロセッサ #defiine 記号定数

C言語 - プリプロセッサ #define 記号定数

今回は、記号定数を使ってみましょう。

プログラム例 その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 10

#define TO 100

void main(void) {
   int a = 0, i;

   for (i=FROM; i<=TO; i++) {
     a = a + i;
   }

   printf("%dから%dの合計は%dです\n", FROM, TO, a);
}

記号定数と呼ばれる書き方です。
この時、文末にセミコロンは付けませんので、注意して下さい。

プログラムの中にFROMと言う文字を発見したら10と置き換えてくれ。
という意味になります。
同じくTOと言う文字を発見したら100と置き換えてくれ。という意味になります。

そしてで早速使っています。FROMの部分が10に、
TOの部分が100に置き換わります。

最後にでも同じように置き換えられ、表示されます。

この方法だとの部分だけ書き換えればOKとなり、
記号定数を使わないプログラム例その2と比べて修正量が減り、大変便利です。

今は修正箇所が4つだけなので、大した事がないと思われるかもしれませんが、
大規模なプログラムとなると修正量が半端ではなく、記号定数の使用は必須です。

ちなみにdefineデファインと読みます。
また、記号定数に使う文字は、一般的に大文字を使う事が多いです。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved