Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (Ведищев) + шпоры к экзамену / Алгоритмические языки.doc
Скачиваний:
51
Добавлен:
20.06.2014
Размер:
557.06 Кб
Скачать

Идентификаторы

Идентификаторы — это имена переменных, функций и меток, используемых в программе. Идентификатор вводится в объявлении переменной или функции, либо в качестве метки оператора. После этого его можно использовать в последующих операторах программы. Идентификатор — это последовательность из одной или более латинских букв, цифр и символов подчеркивания, которая начинается с буквы или символа подчеркивания. Допускается любое число символов в идентификаторе, однако только первые 32 символа рассматриваются компилятором языка Си как значащие. Если первые 32 символа у двух идентификаторов совпадают, компилятор языка Си рассматривает их как один и тот же идентификатор. Компоновщик также распознает 32 символа в именах глобальных переменных.

В идентификаторах версии 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

far

fortran

huge

near

pascal

const

volatile

interrupt

СП ТС:

asm

_cs

_BX

cdecl

_ds

_ch

far

_es

_cl

huge

_ss

_Cx

interrupt

_AH

_DH

near

_AL

_DI

pascal

_AX

_DL

const

_BH

_DX

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 "Описатели с модификаторами".