라인단위 처리에 있어 어떠한 경우 해당 라인에서 복잡한 구조를 갖는 처리를 해야할 수 있다. 이러한 요청으로 많은 프로그래밍 언어들은 라인단위를 블락단위로 확장시키는 방식을 가능케한다. C 에서는 중괄호 { } 를 사용한다.

블락은 해당라인에 포함된 내부구조로 인식될 수 있으며, 보통 중첩(nest) 을 허용하고, 내부스코프를 갖으며, 해당라인에 귀속된다.

가령, 아래와 같은 상황에서 라인 8,9,10 은 라인 8 에 귀속되는 하위 혹은 내부구조라고 볼 수 있다.

5    a line

6    a line

7    a line

8    {    a subline

9        a subline

10    a subline }

11    a line

12    a line


블락은 기본적으로 자체 스코프를 갖는다. 즉, 중괄호 내의 영역은 일차적으로 같은 스코프 영역이다. 중첩된 경우 하위의 블락을 벗어나는 스코프는 우선적으로 바로 자신의 상위에 있는 블락을 바라보며 (scoping), 이는 계층에 대해 연쇄적으로 작용한다.

{

상위블락영역

{

하위블락영역

}

상위블락영역

}