Фигурные скобки
Фигурные скобки
Как располагать фигурные скобки, это личное дело каждого, и практически нет никаких принципиальных причин, по которым одно соглашение было бы лучше другого, но какое-нибудь соглашение все-таки должно быть. Принятое соглашение при разработке ядра — это размещать открывающую скобку в первой строке, сразу за соответствующим оператором. Закрывающая скобка помещается в первой позиции с новой строки, как в следующем примере.
if (fox) {
dog();
cat();
}
В случае, когда за закрывающей скобкой продолжается то же самое выражение, то продолжение выражения записывается в той же строке, что и закрывающая скобка, как показано ниже
if (fox) {
ant();
pig();
} else {
dog();
cat();
}
или следующим образом.
do {
dog();
cat();
} while (fox);
Для функций это правило не действует, потому что внутри одной функции тело другой функции описывать нельзя.
unsigned long func (void)
{
/* ... */
}
И наконец, для выражений, в которых фигурные скобки не обязательны, эти скобки можно опустить.
if (foo)
bar();
Логика всего этого базируется на K&R[96].