ほとんどのプログラミング言語では、変数名は文字またはアンダースコアで始まり、文字、数字、およびアンダースコア文字の組み合わせが続きます。私はこれをc、C++、php($の後)で見つけました。変数名 - 文字またはアンダースコアで始まるのはなぜですか?
これは、コンパイラ/インタプリタの作者に続くコンベンションですか、それとも実用的な理由がありますか?
なぜこれらの言語の文字、アンダースコア、数字のみで変数名を構成する必要があるのですか?
4U
が整数または識別子であるか否かを
ほとんどのプログラミング言語では、変数名は文字またはアンダースコアで始まり、文字、数字、およびアンダースコア文字の組み合わせが続きます。私はこれをc、C++、php($の後)で見つけました。変数名 - 文字またはアンダースコアで始まるのはなぜですか?
これは、コンパイラ/インタプリタの作者に続くコンベンションですか、それとも実用的な理由がありますか?
なぜこれらの言語の文字、アンダースコア、数字のみで変数名を構成する必要があるのですか? 4U
が整数または識別子であるか否かを
4
が単独で無効な識別子であると仮定しています。#include
,a*a
および他の構築物はあいまいである。_
は演算子として使用されず、[A-Za-z_]
で始まる単語は、事前定義キーワードまたは識別子のいずれかです。あいまいさはありません。
なぜその_は演算子ではありませんか?どうして〜ではなく〜f?私の質問は、それは慣習に従っている_それは演算子として使用されることはありません?それらが派生した先の言語のいずれかから派生していますか?他の回答がなく、部分的に私の質問に答えているので、私はあなたの答えを受け入れています。返信ありがとうございます。 –
@Bittoパンチカードの単語区切り文字として使用するために、EBCDIC文字セットに '_'を導入したのはIBMにまでさかのぼります。 ASCIIもそれを採用し、FORTRANはそれを識別子で許可しました。異なるオペレーターの背後にある歴史について疑問に思っているなら、プログラマーに尋ねることができます。 – a3f
C++には、アンダースコアを使用する必要があるかどうかを指定するルールがあります。もっと詳しくはこちら:http://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-underscore-in-ac-identifier – user4581301
すべての言語には行動規範があるので、Cにようこそ。 – dreamBegin
'if(123f == 456l){' < - 1つは定数の数値で、もう1つは数字で始まる変数名です。コンパイラはもちろんのこと、どうしたらうまくいくのでしょうか? –