#からはじまる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」という表示が出ました。
ケアレスミスでした。