「複合文」(Compound Statement)とは「ブロック」{ } のことです。
/* Example 14.1 */
#include <stdio.h>
int main(void)
{
       int i, sum = 0;
       for(i = 0; i <= 10; i++)
       {
              printf("i = %d\n", i);
              sum += i;
       }
       printf("sum = %d\n", sum);
       return 0;
}
これは Example 7.9 を複合代入演算子を使って書き直したものです。このソースには2つの複合文があります。一つは main関数の定義に使われているブロック { },
int main(void)
{
}
そして for文に使われているブロック { } です。
for(i = 0; i <= 10; i++)
{
}
関数の定義に使うブロック { } は「複合文」です。[C99, 6.9.1]