□ Cではconst LBL=1;は読出専用変数. 定数定義は#define,enum.
C言語では、定数ラベルを定義するのに const
を用いることができません。
C++言語や pascal 等では、定数を定義するのに
const というキーワードで定義することができますが、C言語はそれらとは違い、const
は、読み出し専用という意味にしかならず、たとえば
const int aa = 10;
とすれば、aa という、読み出し専用の変数(つまりアドレスを持つ)になります。このことは
const int V_NUM = 10;
static char v[V_NUM];
という宣言がC言語ではエラーになるということです
(配列変数の定義では、添え字(サイズ)を変数で指定することはできないため)。
C言語で同様のことを行おうとするならば
#define V_NUM 10
static char v[V_NUM];
のように#defineを用いるか、
enum {V_NUM = 10};
static char v[V_NUM];
のように、列挙型での指定を流用することになります。とくに、関数内でのみの定数を定義する場合は
enumを用いるしかありません。