ラベルは、N1256で定義されています。ラベル付きステートメントは、ステートメントのみを含めることができます。
Syntax
1 labeled-statement:
identifier : statement
case constant-expression : statement
default : statement
int ret = function(of, stuff);
N1256 6.7宣言で定義され、ステートメントではない宣言、です。
文をN1256 6.8文およびブロックで以下に定義される:
Syntax
1 statement:
labeled-statement
compound-statement
expression-statement
selection-statement
iteration-statement
jump-statement
compound-statement
は0以上の宣言と{}
に囲まれたステートメントである、ブロックいわゆるれます。
expression-statement
は、N1256 6.5式で定義された0または1つの式で、その後にはi++;
のようなセミコロンが続きます。構文内の式は、N1256 6.5.17カンマ演算子で定義されています。
selection-statement
は、if
およびswitch
である。
iteration-statement
はwhile
,およびfor
である。
jump-statement
はgoto
、continue
、break
とreturn
文です。
宣言はステートメントではないため、宣言にラベルを付けることはできません。
「おそらく誰かがこれが完璧な意味であると主張するためにC標準を守るだろう」 - 確かに、あなたは正しい場所に来ています。 –
なぜこれらのクローズ票?:-S - 私はまだよく覚えている公正な質問...:-) – alk
プログラミング言語に関する質問は、プログラミングに関するものではないでしょうか? –