ソースコード内で、10
や
'a'
のように、特定の型の値(データ)を直接的に記述したものです。
「リテラル(literal)」という英単語の意味は「文字通りの」です(参考リンク1)。
似たような意味の用語として、定数があります。定数とは、データに名前を付けたもののことです。ただし、リテラルと定数が同じ意味で使われることもあります。
プログラミング言語の種類によって表記方法は異なりますが、たとえば、
const int ARRAY_SIZE = 500;
このように記述したとき、500 はリテラル(値を直接記述している)、ARRAY_SIZE は定数(500 に名前を付けた)です。
一般に、値には名前を付けて取り扱った方が分かりやすくなります。リテラルを直接使ったソースコードは、その値の意味を理解することが難しくなります。そのような分かりづらいリテラルは、マジックナンバーと呼ばれ、悪いプログラミングの例として知られています。
もちろん、先ほどの例のように、定数を作るための値をリテラルとして記述することに問題はありません(こう書かざるを得ません)。同様に、変数をクリアするときに与える「0」のようなリテラルも、よほど特殊な使い方をしていない限り、問題になりません。
マジックナンバーには、値を変更するときに、どこを修正すればいいのか分からなくしてしまうという問題もあります。
プログラミング言語によって、リテラルとして表記できる型に制限があります。ほとんどの言語では、整数型、浮動小数点型、文字型などの値をリテラルとして表記できます。
C言語でリテラルと呼ばれているものは、文字列リテラルと、複合リテラル(C言語編第26章、C言語編第32章)だけです。
整数や浮動小数点数、文字の値を直接記述したものは、定数(整数定数、浮動小数点定数、文字定数)と呼んでいます。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |