定数とdefine文

 慣れてくると、自作ヘッダファイルの作り方にピンと来ると思いますが、まだ簡単なプログラムを作るうちは、そんなに多用しなくても良いかもしれません。基本的に、自作ヘッダファイルで書ける内容に制限はそれほどありません。望ましいとされるものは、いくつかあります。そのうちのひとつが定数です。今まで扱ってきた「変数」は、「変(わる)」の文字が含まれているとおり、中身の値が変わることを前提で利用します。「定数」は「定」の文字のとおり、処理の最初から最後までずっと変わらない値を格納する場合に利用します。ソースコードを読む人からしても、定数にしてもらった方が読みやすいという利点があります。

 定数の定義にはdefine文を用います。また、define文で定義する定数の名前は、全て英字は大文字にすることが望ましいとされています。以下のプログラムを書いて実行し、確認してみて下さい(ヘッダファイルは作成しなくても結構です。main関数と同じソースファイルに書いていって下さい)。

#include <stdio.h>

#define LIMIT 10

int main(int argc, const char * argv[])
{
    
    // insert code here...
    for(int i = 0; i < LIMIT; i++) {
        printf("Hello, World!\n");
    }
    
    return 0;
}

 このプログラムを実行し、

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

 上記のように「Hello, World!」が10回、表示されることを確認して下さい。今回はループの上限という意味のLIMITという定数を作りました。他にも、例えば、

#define MEN 0
#define WOMEN 1

 このように「男性の場合は数値が0、女性の場合は数値が1」といったように、内部処理上どうしても数値で扱う項目に対して、読みやすいように定数の名前で意味付けを行う場合に用いられることが多いです。

■スポンサーリンク

このページの先頭へ