Это всего лишь сложное утверждение. Везде, где вы можете иметь утверждение, например x = 3;
или while (i) …
, вы можете иметь составное выражение { … }
. Внутри составного оператора вы можете иметь объявления и операторы.
Составные операторы часто встречаются как операторы, используемые с if
, while
или аналогичными операторами:
if (a < b)
{ // Start compound statement.
foo(a);
bar(b);
}
while (n--)
{ // Start compound statement.
foo(p, n);
}
Однако Вы также можете иметь сложное утверждение самостоятельно. Это может быть полезно для объявления идентификаторов внутри составного оператора, что ограничивает их область действия этим оператором (который называется block ). Это уменьшает вероятность ошибок (поскольку идентификатор не виден за пределами его области, он не может быть случайно использован вне этой области). Сложные операторы также можно использовать только для организации, чтобы проиллюстрировать читателю, что вложенные операторы являются группой, которая в некоторой степени связана и концептуально отделена от операторов до или после них.
Элементы функций также составные высказывания:
int foo(int a, int b)
{ // Start compound statement.
return a+b;
}