Комментарием является набор символов, игнорируемых компилятором. Но на данный набор символов
накладываются определенные ограничения. Внутри
набора символов, представляющих комментарий, не
может быть специальных символов, которые определяют начало и конец комментариев, соответственно
(-* и *-). Важно показать, что комментарии способны
заменить одну или несколько строк.
Приведем конкретные примеры:
-* комментарии к программе *-
-* начало алгоритма *-
или -*
Комментарии могут быть записаны в любом виде, но следует быть осторожным и не допустить внутри последовательности, которая игнорируется компилятором, появления оператора программы, который также
будет игнорироваться *-. При этом производится неправильное определение комментариев.
-* комментарии к алгоритму -* решение краевой
задачи *- *-
или
-* комментарии к алгоритму решения *- краевой
задачи *-
Обычная СИ-программа является определением
функции main, которая для выполнения определенных
действий вызывает другие функции. Связь между функциями производилась по данным через передачу параметров и возврата значений функций. Однако компилятор языка СИ дает возможность также разбить
программу на несколько отдельных частей, которые являются исходными файлами, оттранслировать любую
часть отдельно и после этого объединить все части
в один выполняемый файл при помощи редактора
связей. При данной структуре исходной программы
функции, располагающиеся в разных исходных файлах,
могут применять глобальные внешние переменные. Все
функции в языке СИ по определению внешние и постоянно доступны из каждого файла. Для выполнения определяемой функцией каких-либо действий она должна
применять переменные. В языке СИ все переменные
объявляются до их применения. Объявления определяют
соответствие имени и атрибутов переменной, функции
или типа. Определение переменной приводит к выделению памяти для хранения ее значения. Класс отводимой
памяти определяется спецификатором вида памяти
и задает время жизни и область видимости переменной, которые связаны с понятием блока программы.
В СИ блоком является ряд объявлений, определений и
операторов, располагающихся в фигурных скобках.
Можно выделить два вида блоков — составной оператор и определение функции, которые состоят из составного оператора (тела функции) и заголовка функции, который находится перед телом функции (в него входят
имя функции, типы возвращаемого значения и формальных параметров). Блоки могут состоять из операторов,
но не определения функций. Внутренний блок носит название вложенного, а внешний — объемлющего.
Временем при жизни называется интервал времени
выполнения программы, за который программный
объект (переменная или функция) существует. Время
жизни переменной бывает локальным или глобальным.
Переменная с глобальным временем жизни обладает
распределенной для нее памятью и определенным значением на протяжении всего времени выполнения программы.