block を使うと、1 つのステートメントが許容されるコンテキストに複数のステートメントを記述できます。
- block:
- { statement-listopt }
block は、省略可能な statement-list (8.2.1 を参照) で構成され、中かっこで囲みます。ステートメント リストを省略すると、ブロックは空になります。
ブロックには、宣言ステートメント (8.5 を参照) を含めることができます。ブロック内で宣言されたローカル変数または定数のスコープは、そのブロックです。
ブロック内では、式のコンテキストで使用される名前の意味は、常に同じである必要があります (7.5.2.1 を参照)。
ブロックは次のように実行されます。
- ブロックが空の場合、制御はブロックの終了点に移ります。
- ブロックが空でない場合、制御はステートメントに移ります。制御がステートメント リストの終了点に達すると、そのブロックの終了点に制御が移ります。
ブロック自体が到達可能な場合、ブロックのステートメント リストは到達可能です。
ブロックが空であるか、またはステートメント リストの終了点が到達可能な場合、ブロックの終了点は到達可能です。