C言語のプリプロセッサー「#define」

公開日: : 基本 ,

プリプロセッサー「#define」

プリプロセッサーはソースファイルをコンパイルする前に
処理をしてくれくれるプログラムです。
C言語ではプリプロセッサーに渡す命令(コマンド)は前に
「#」を付けて渡します。
(プリプロセッサーディレクティブと呼んだりします。)

define

その中の1つ今回は「define」です。

この「define」は簡単に言うと「define」で定義されたキーワードを
ソースファイル内に見つけると、そのキーワードを定義された内容に
書き変えてくれるイメージです。
(実際のソースは書き変わりませんが、コンパイラにわたるソースは
 イメージとして書き変わっています。)

例えば

と宣言しておけばソースファイルないの「FILE_NAME」という部分は
すべて「test.txt」に置き換えてくれます。

のように書くとソースファイル内の「FILE_NAME」が「test.txt」に
書き変わり

と書いたのと同じことになります。

これで便利なのは「FILE_NAME」が「”TEST.txt”」に変更に
なったとしても「#define」の宣言を「”TEST.txt”」に変更するだけで
ソース内のすべての「FILE_NAME」を「”TEST.txt”」に変更したのと
同じ意味になります。

実際のプログラムは同じ値を何か所にも渡って使用することは
当たり前にあるので、「#define」を利用することで、
スペルミスや、修正漏れを防いで、ソースのメンテナンス性を
上げるようにします。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 14 follow us in feedly

関連記事

keybord_black

C言語での無限ループの作り方

無限ループって永久に抜けないの? 会社に入って始めてプログラムを作り始めた頃は「無限ループ(繰

記事を読む

no-img

C言語の演算子の種類

C言語の演算子の種類 C言語にはいくつかの演算子と呼ばれる記号があります。 それを以下に示し

記事を読む

no-img

C言語の変数の型

C言語の型 C言語での定義されている型の種類 C言語では変数を確保する際に「型」を指定する必要が

記事を読む

no-img

C言語の統合開発環境として「VISUAL C++ 2010 EXPRESS」をインストールしました

C言語の統合開発環境として「VISUAL C++ 2010 EXPRESS」を インストールしまし

記事を読む

no-img

C言語のfor文-繰り返し(ループ)制御

繰り返し(ループ)処理を行うfor文 for文は繰り返し(ループ)処理を行いたい場合に使用する

記事を読む

keybord_black

C言語での条件分岐-switch文

C言語での条件分岐-switch文 switch文はcaseで指定した値と一致した時に処理を行うた

記事を読む

no-img

C言語のカッコ、「{」や「}」は省略しない方が良い

C言語では制御文(if-else,for,while)で実行する文が 1行の場合は中括弧の「{」や

記事を読む

keybord_black

C言語のwhile文-繰り返し(ループ)制御

繰り返し(ループ)処理を行うwhile文 while文は繰り返し(ループ)処理を行いたい場

記事を読む

no-img

値渡し(Call by Value)と参照渡し(Call by Reference)

初心者には以外と難しい「値渡し(Call by Value)」と「参照渡し(Call by Refe

記事を読む

keybord_black

繰り返し(ループ)制御 do-while文

do-while文での繰り返し do-while文は繰り返し(ループ)処理を行いたい場合に使用する命

記事を読む

no-img
C言語の演算子の種類

C言語の演算子の種類 C言語にはいくつかの演算子と呼ばれる記号があり

no-img
C言語の統合開発環境として「VISUAL C++ 2010 EXPRESS」をインストールしました

C言語の統合開発環境として「VISUAL C++ 2010 EXPRE

no-img
C言語のカッコ、「{」や「}」は省略しない方が良い

C言語では制御文(if-else,for,while)で実行する文が

keybord_black
C言語での無限ループの作り方

無限ループって永久に抜けないの? 会社に入って始めてプログラムを

keybord_black
C言語のwhile文-繰り返し(ループ)制御

繰り返し(ループ)処理を行うwhile文 while文は繰り

→もっと見る



PAGE TOP ↑