コードブロック【code block】
概要

プログラムは通常、コードの先頭から順に一文ずつ実行されるが、多くの言語では条件分岐や繰り返し処理などの対象は単一の文しか指定できない。そのような場合に、複数の文からなる複雑な処理を対象とするため、特殊な記法で複数の文を括って一文として扱わせる仕組みがコードブロックである。
例えば、C言語などで「if(条件) 文1; 文2;」のように記述すると、条件が真のときのみ実行されるのは文1だけで、文2は条件分岐から外れ、条件の真偽に関わらず実行される。文1も文2も条件が真のときのみ実行したい場合には、コードブロックの記法を用いて「if(条件){文1;文2;}」のように波括弧で括れば、両方とも条件分岐の制御下に置かれる。
コードブロックを単なる文の集合ではなく、関数やメソッドと同じように変数の有効範囲であるスコープを形成する単位と規定している言語もある。その場合、ブロック内で宣言された変数は、そのブロックの外からは参照できない。この仕組みにより、同じ名前の変数を異なる場所で安全に利用できるほか、意図しない値の変更を防ぐことができる。ブロック単位でメモリ管理やライフサイクルが制御される言語もある。
記述方法はプログラミング言語によって異なるが、C言語が波括弧 { } で囲む形式を採用したため、JavaやJavaScriptなどC系の記法を受け継ぐ多くの言語で同じ記法が用いられる。一方、Pascalの「begin」「end」のようにキーワードで開始と終了を指定する言語や、Pythonのように行頭の空白(インデント)の深さによってブロックを表現する言語も存在する。インデントによるブロック定義は、コードの先頭の文字の行頭からの距離が揃っている文同士がブロックを形成する仕組みで、視覚的に構造が把握しやすいとされる。