Комментарии
Ключевые слова
Идентификаторы
Идентификаторы – это имена переменных, функций и меток, используемых в программе. Идентификатор создается объявлением соответствующей ему переменной или функции. После этого его можно использовать в последующих операторах программы. Идентификатор – это последовательность из одной или более букв, цифр или подчерков ( _ ), которая начинается с буквы или подчерка. Допускается любое число символов в идентификаторе, однако только первые 32 символ распознаются компилятором.
При использовании подчерков в идентификаторе нужно быть осторожным, поскольку идентификаторы, начинающиеся с подчерка могут совпадать (войти в конфликт) с именами "скрытых" системных программ.
Примеры идентификаторов:
temp1
top_j\of_page
skip12
Компилятор Си рассматривает буквы верхнего и нижнего регистров как различные символы. Поэтому можно создать отдельные независимые идентификаторы, которые совпадают орфографически, но различаются большими и малыми буквами. Например, каждый из следующих идентификаторов является уникальным:
add
ADD
Add
aDD
Компилятор Си не допускает идентификаторов, которые имеют ту же самую орфографию, что и ключевые слова. Ключевые слова описаны в следующем раздела
Ключевые слова – это предопределенные идентификаторы, которые имеют специальное значение для компилятора Си. Их можно использовать только так, как они определены. Имена объектов программы не могут совпадать с названиями ключевых слов.
Список ключевых слов:
auto | continue | else | for | long | signed | switch | void |
break | default | enum | goto | register | sizeof | typedef | while |
case | do | extern | if | return | static | union | |
char | double | float | int | short | struct | unsigned |
Ключевые слова не могут быть переопределены. Тем не менее, они могут быть названы другим текстом, но тогда перед компиляцией они должны быть заменены посредством препроцессора на соответствующие ключевые слова.
Следующие идентификаторы могут быть ключевыми словами для некоторых приложений:
СП MSC: | cdecl | СП TC: | asm | _cs | _BX |
far | cdeci | _ds | _CH | ||
fortran | far | _es | _CL | ||
huge | huge | _ss | _CX | ||
near | interrupt | _AH | _DH | ||
pascal | near | _AL | _DI | ||
const | pascal | _AX | _DL | ||
volatile | const | _BH | _DX | ||
interrupt | volatile | _BL | _SI | ||
_BP | _SP |
Комментарий – это последовательность символов, которая воспринимается компилятором как отдельный пробельный символ или, другими словами, игнорируется. Комментарий имеет следующую форму представления:
/*<символы>*/,
где <символы> может быть любой комбинацией символов из множества представимых символов, включая символы новой строки, но исключая комбинацию */. Это означает, что комментарии могут занимать более одной строки, но не могут быть вложенными.
Комментарии допускаются везде, где разрешены пробельные символы. Компилятор игнорирует символы комментария, в частности, в комментариях допускается запись ключевых слов и зто не приведет к ошибке. Так как компилятор рассматривает комментарий как символ пробела, то комментарии не могут появляться внутри лексем. Следующие примеры иллюстрируют некоторые комментарии:
/* Комментарий помогает документировать программу. */
/* Комментарий могут содержать ключевые слова, например for и while */ /*******************************************
Комментарий может занимать
несколько строк.
*******************************************/
Так как комментарии не могут содержать вложенных комментариев, то следующий пример будет ошибочным:
/* недопустимы/* вложенные */ комментарии */
Компилятор распознает первую комбинацию */ после слова вложенные как конец комментария. Затем, компилятор попытается обрабатывать оставшийся текст и выработает сообщение об ошибке. Чтобы обойти компиляцию комментариев больших размеров, нужно использовать директиву #if 0 и #tndif.