C/C では、変数名に文字、数字、アンダースコア (_) 文字を含めることができます。 C/C言語にはいくつかのキーワードがありますが、それ以外はすべて識別子とみなされます。識別子は、変数、定数、関数などの名前です。
コンパイラには以下の 7 つのステージがあるため、数字で始まる識別子は指定できません。
上記のいずれも、数字で始まる変数をサポートしていません。これは、コンパイラが、数値に続くアルファベットに到達するまで、それが数値であるか識別子であるかを混乱させるためです。そのため、コンパイラはサポートされていない字句解析ステージに後戻りする必要があります。コンパイラーは、最初の文字を確認した後、トークンを識別子またはリテラルとして認識できる必要があります。
次は、C 言語の変数宣言を示す例です。
#include <stdio.h> int main() { int 5s = 8; int _4a = 3; int b = 12; printf("The value of variable 5s : %d", 5s); printf("The value of variable _4a : %d", _4a); printf("\nThe value of variable b : %d", b); return 0; }
変数が 5 で始まるため、上記のプログラムでは「整数定数の接尾辞 's' が無効です」というエラーが発生します。それを削除すると、プログラムは正常に動作します。
デモされた新しいプログラムのサンプルは次のとおりです。
ライブ デモンストレーション
#include <stdio.h> int main() { int _4a = 3; int b = 12; printf("The value of variable _4a : %d", _4a); printf("\nThe value of variable b : %d", b); return 0; }
上記のプログラムの出力は次のとおりです。
えええええ以上がC/C++ 変数を数字で始めることができないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。