В идентификаторах версии 1.5 СП ТС допускается знак $, однако, идентификатор не может с него начинаться.
Компиляторы языка Си в СП MSC и СП ТС имеют опцию, позволяющую изменять число значащих символов в идентификаторах.
При использовании символов подчеркивания в качестве первых символов идентификаторов необходимо соблюдать осторожность, поскольку такие идентификаторы могут совпасть (войти в конфликт) с именами "скрытых" библиотечных функций.
Примеры идентификаторов:
temp1
top_of_page
skip12
Компилятор языка Си рассматривает буквы верхнего и нижнего регистров как различные символы. Поэтому можно создавать идентификаторы, которые совпадают орфографически, но различаются регистром букв. Например, каждый из следующих идентификаторов является уникальным:
add
ADD
Add
aDD
В СП ТС, однако, существует опция компиляции, позволяющая рассматривать в именах внешних переменных буквы верхнего и нижнего регистров как совпадающие.
Компилятор языка Си не допускает использования идентификаторов, совпадающих по написанию с ключевыми словами.
Например, идентификатор whileнедопустим (однако идентификатор While—допустим).
Ключевые слова — это предопределенные идентификаторы, которые имеют специальное значение для компилятора языка Си. Их использование строго регламентировано. Имена объектов программы не могут совпадать с ключевыми словами.
список ключевых слов:
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 |
|
При необходимости можно с помощью директив препроцессора определить для ключевых слов другие имена. Например, при наличии в программе макроопределения
#define BOOL int
слово BOOLможно использовать в объявлениях вместо слова int. Смысл объявлений (спецификация целого типа данных) от этого не изменится, однако программа станет более читабельной, если речь идет не просто о целых переменных, а о переменных, предназначенных для хранения значений булевского типа (булевский тип не реализован в языке Си как самостоятельный тип данных).
Имеется также ряд специальных ключевых слов:
СП MSC: |
cdecl |
СП ТС: |
asm |
_cs |
_BX |
|
far |
|
cdecl |
_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 |
В версии 4.0 СП MSC ключевые слова const и volatile зарезервированы, но использовать их невозможно. В версии 5.0 СП MSC ключевое слово volatile реализовано лишь синтаксически, а const — полностью (как синтаксически, так и семантически). В СП ТС и const, и volatile полностью реализованы. В версии 4.0 СП MSC ключевое слово interrupt не реализовано.
Ключевое слово fortran используется для организации связи программ, написанных на языках Си и Фортран. По действию оно аналогично ключевому слову pascal. Ключевое слово asm применяется для записи в программе на языке Си ассемблерных инструкций. Специальные ключевые слова, начинающиеся с подчеркивания, представляют собой имена псевдопеременных, соответствующих регистрам микропроцессора. Ключевые слова cdecl, pascal, interrupt, near, far, huge, const, volatile объясняются подробно в разделе 3.3.3 "Описатели с модификаторами".
Комментарий — это последовательность символов, которая воспринимается компилятором языка Си как отдельный пробельный символ и игнорируется. Комментарий имеет следующий вид:
/* < символы >*/
<���символы> должны принадлежать множеству представимых символов. Символ новой строки также допустим внутри комментария. Это означает, что комментарии могут занимать более одной строки программного текста. Внутри комментария недопустима комбинация символов */. Это означает, что комментарии не могут быть вложенными.
Компилятор языка Си рассматривает комментарий как пробельный символ, поэтому комментарии допускается использовать везде, где можно использовать пробельные символы (но нельзя, например, внутри лексем). Компилятор языка Си игнорирует все символы комментария, поэтому даже запись в комментариях ключевых слов не приведет к ошибке.
Читать дальше