#からはじまる1行分のことをマクロと呼びます。
マクロはプログラムのソースコードをコンパイルする前にプリプロセッサが処理します。
プログラムの最初に記述する「#include」もマクロの一種です。
マクロは次のような書式で書きます。
//マクロの中にはスペースやタブは入れてはダメ #define マクロ名 パターン
■置換
#defineは、文字列を置換するマクロです。
例
#define VALNUM 3;
次のように書くと、DEBUG_MODEが定義されているということを表します。
#define DEBUG_MODE;
簡単なサンプルを書いてみましたが、うまく動作せず。
#include <stdio.h>
#define VALNUM 3;
int main(void)
{
printf("%d \n", VALNUM);
return 0;
}
//実行結果
「7行目」で記述エラーを発見しました。
「,」を付け忘れています。
もうひとつ、サンプルを書きましたが、これもうまく動作しませんでした。原因について調査中、、、
#include <stdio.h>
#define VALNUM 3;
int main(void)
{
int i;
for (i=0; i<VALNUM; i++) {
printf("%d \n", i);
}
return 0;
}
//実行結果
「9行目」で記述エラーを発見しました。
「identifier」を付け忘れています。
エラーの原因から地道に紐解いていこうかと思います。
解決したら、ブログに追記します。
2014.09.25追記
コメントからご指摘いただいた点を元に、下記のようなプログラムを作って動かしてみました。
#include <stdio.h>
#define VALNUM 3
int main(void)
{
int i;
for (i=0; i<VALNUM; i++) {
printf("%d \n", i);
}
return 0;
}
エラーが出ずに実行され、コンソール上には「0 1 2」という表示が出ました。
ケアレスミスでした。