Поскольку конец строки означает конец комментария, этот стиль требует маркера только в начале комментария.
Новая форма комментариев решает потенциальную проблему, характерную для старой формы комментария. Предположим, что имеется следующий код:
/*
Я надеюсь, что этот вариант работает.
*/
х = 100;
у = 200;
/* Теперь попробуем сделать что-нибудь еще. */
Предположим, что вы решили удалить четвертую строку, но случайно удалили также и третью строку (*/). В результате получился такой код:
/*
Я надеюсь, что этот вариант работает.
у = 200;
/* Теперь попробуем сделать что-нибудь еще. */
Теперь компилятор соединяет в пару маркер /* из первой строки и маркер * / в четвертой строке, объединяя все четыре строки в один комментарий, в том числе и строку, которая по предположению была частью программного кода. Поскольку форма // не распространяется на более чем одну строку, не возникает проблема “исчезновения кода”.
Некоторые компиляторы не поддерживают э ту возможность, другие могут потребовать изменить параметры компилятора, чтобы стали доступными функции, предусмотренные стандартом С99 или С11.
Йсходя из того, что чрезмерное постоянство может оказаться скучным, в книге используются обе формы комментариев.
58 Глава 2
В листинге 2.1 фигурные скобки определяют границы функции main (). В общем случае все функции языка С используют фигурные скобки для обозначения начала и конца своего тела. Наличие скобок обязательно, так что не забывайте о них. Для этой цели допускается применять только фигурные скобки ({ }), но не круглые (( )) или квадратные ([ ]).
Фигурные скобки можно также использовать внутри функции для организации операторов в модуль или блок. Если вам приходилось работать с языками Pascal, ADA, Modula-2 или Algol, то вы заметите, что фшурные скобки подобны операторам begin и end в упомянутых языках.
Объявления
int num;
Эта строка программы называется оператором объявления. Оператор объявления является одной из наиболее важных возможностей языка С. В рассматриваемом примере объявляются два аспекта. Во-первых, где-то в функции имеется переменная по имени num. Во-вторых, с помощью int переменная num объявлена как целочисленная, т.е. число без десятичной точки, или без дробной части, (int представляет собой пример типа данных.) Компилятор применяет эту информацию для того, чтобы выделить в памяти для переменной num пространство подходящего размера. Точка с запятой в конце строки показывает, что данная строка является оператором или инструкцией языка С. Точка с запятой является частью этого оператора, а не просто разделителем между операторами, как, например, в языке Pascal.
Слово int представляет собой ключевое слово языка С, обозначающее один из базовых типов данных С. Ключевые слова — это слова, используемые для построения языковых конструкций, и их нельзя употреблять в других целях. Например, int нельзя применять в качестве имени функции или переменной. Однако эти ограничения по использованию ключевых слов не выходят за рамки языка, так что вы вполне можете дать своему домашнему питомцу кличку int.