#define
とは
- C言語におけるディレクティブの一つ
- コード内で定数やマクロを定義するためのプリプロセス命令
C言語のプリプロセス命令(プリプロセッシング命令)とは
ソースコードをコンパイルする前に、コードの変換や置換を行うための命令のこと。
これらの命令はコンパイラがソースコードを実際の機械語に変換する前に実行される。
プリプロセス命令は通常、#記号から始まる特別な形式の行で表される。
- #include
- #define:
- #ifdef、#ifndef、#else、#endif
- #pragma
- #error
- #undef
などがある
#define
を使用することで何ができるか
- 特定の値や式に名前を付けて、後でコード内でその名前を使用することができる
- これにより、コードをより読みやすく、保守しやすくすることができる
#define
の基本的な使い方と例
#include <stdio.h>
// 定数の定義
#define PI 3.14159265359
#define MAX_VALUE 100
// マクロの定義
#define SQUARE(x) ((x) * (x))
#define SUM(x, y) ((x) + (y))
int main() {
// 定数の使用
double circle_area = PI * SQUARE(5);
int sum_result = SUM(10, 20);
printf("Circle Area: %f\n", circle_area);
printf("Sum Result: %d\n", sum_result);
return 0;
}
上記の例では、#defineを使って2つの定数と2つのマクロを定義している。
-
#define PI 3.14159265359
- PIという名前で円周率の値を定義している
-
#define MAX_VALUE 100
- MAX_VALUEという名前で最大値を定義している
-
#define SQUARE(x) ((x) * (x))
- SQUAREという名前で与えられた値の二乗を計算するマクロを定義している
-
#define SUM(x, y) ((x) + (y))
- SUMという名前で与えられた2つの値の合計を計算するマクロを定義している
このように、後でコード内でこれらの定数やマクロを使用する際に、単にその名前を書くだけで、事前に定義した値や式を利用できるようにするために#define
を使用する。