ラベルには identifier、case、および default の 3 つの種類があります。
identifier ラベル・ステートメントの形式は、次のとおりです。
>>-identifier--:--statement------------------------------------><
ラベルは、identifier およびコロン (:) 文字から構成されます。
ラベル名は、そのラベルが使用されている関数内で一意である必要があります。
C++ では、identifier ラベルは goto 文のターゲットとしてのみ使用することができます。
goto 文では、ラベルをその定義よりも前に使用することができます。
identifier ラベルは、それ自体のネーム・スペースを持っています。identifier ラベルが、
他の ID と競合することについて心配する必要はありません。ただし、関数内ではラベルを再宣言することはできません。
case および default ラベル・ステートメントは、switch 文でのみ使用されます。これらの ラベルは、最も近い switch 文内でのみアクセス可能です。
case ステートメントの形式は、次のとおりです。
>>-case--constant_expression--:--statement---------------------><
default ラベル・ステートメントの形式は、次のとおりです。
>>-default--:--statement---------------------------------------><
ラベルの例
comment_complete : ; /* null statement label */ test_for_null : if (NULL == pointer)
関連参照