「複合文」(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]