Язык программирования Си для персонального компьютера - [7]

Шрифт
Интервал

"Длинные строки могут быть раз\

биты на части."

идентична строке:

"Длинные строки могут быть разбиты на части."

В СП MSC версии 5.0 и в СП ТС для формирования символьных строк, занимающих несколько строк текста программы, не требуется применения комбинации символов обратный слэш и новая строка. Символьные строки, следующие друг за другом и не разделенные ничем, кроме пробельных символов, объединяются компилятором языка Си в одну строку.

Например, программа

main()

{

char *р;

p = "Данная программа — пример того, как можно"

" автоматически\nосуществлять объединение"

" строк в очень длинную строку;\n"

" такая форма записи может повысить"

" наглядность программ.\n";

printf("%s", p);

}

напечатает следующий текст:

Данная программа—пример того, как можно автоматически

осуществлять объединение строк в очень длинную строку;

такая форма записи может повысить наглядность программ.

Каждый символ символьной строки (в том числе каждый специальный символ) хранится в отдельном байте оперативной памяти. Нулевой символ ('\0') автоматически добавляется в качестве последнего байта символьной строки и служит признаком ее конца. Каждая символьная строка в программе рассматривается как отдельный объект; если в программе содержатся две идентичные символьные строки, то они будут занимать две различные области оперативной памяти.

В СП ТС реализована опция компиляции, позволяющая хранить в памяти только одну из идентичных строк.

Тип символьной строки—массив элементов типа char. Число элементов в массиве равно числу символов в символьной строке плюс один, поскольку нулевой символ (признак конца символьной строки) тоже является элементом массива.

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

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

В идентификаторах версии 1.5 СП ТС допускается знак $, однако, идентификатор не может с него начинаться.

Компиляторы языка Си в СП MSC и СП ТС имеют опцию, позволяющую изменять число значащих символов в идентификаторах.

При использовании символов подчеркивания в качестве первых символов идентификаторов необходимо соблюдать осторожность, поскольку такие идентификаторы могут совпасть (войти в конфликт) с именами "скрытых" библиотечных функций.

Примеры идентификаторов:

temp1

top_of_page

skip12

Компилятор языка Си рассматривает буквы верхнего и нижнего регистров как различные символы. Поэтому можно создавать идентификаторы, которые совпадают орфографически, но различаются регистром букв. Например, каждый из следующих идентификаторов является уникальным:

add

ADD

Add

aDD

В СП ТС, однако, существует опция компиляции, позволяющая рассматривать в именах внешних переменных буквы верхнего и нижнего регистров как совпадающие.

Компилятор языка Си не допускает использования идентификаторов, совпадающих по написанию с ключевыми словами.

Например, идентификатор while недопустим (однако идентификатор While—допустим).

Ключевые слова

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

список ключевых слов:

autocontinueelseforlongsignedswitchvoid
breakdefaultenumgotoregistersizeoftypedefwhile
casedoexternifreturnstaticunion 
chardoublefloatintshortstructunsigned 

При необходимости можно с помощью директив препроцессора определить для ключевых слов другие имена. Например, при наличии в программе макроопределения

#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 не реализовано.


Рекомендуем почитать
Великие князья Владимирские и Владимиро-Московские. Великие и удельные князья Северной Руси в татарский период с 1238 по 1505 г.

Андрей Васильевич Экземплярский — русский историк, успешно окончил историко-филологический факультет Санкт-Петербургского университета. Еще в студенческие годы под руководством K. H. Бестужева-Рюмина работал с польскими источниками по истории Смутного времени. Был преподавателем в гимназиях Польши, в Екатеринбурге и Перми. Принимал участие в работе над Энциклопедическим словарем Брокгауза и Евфрона. Исследование «Великие и удельные князья Северной Руси в татарский период» — авторитетнейший источник о жизни и деятельности русских князей периода феодальной раздробленности.


Чудо общения с Богом

Мы можем общаться с Богом! Какая потрясающая истина! Но это только начало. Его воля в том, чтобы наши взаимоотношения становились все более близкими и глубокими. Он сказал, что хочет открыться нам в любви, славе и святости. И поскольку Сам Бог бесконечен, то и развитию отношений с Ним также нет предела. Эти отношения не только с одним, каким-то особенным человеком, Бог приглашает в общение и желает говорить с каждым верующим. Книга "Чудо общения с Богом" – реальная помощь тем, кто хочет жить в каждодневном общении со своим Творцом!


Все о грибах. Рецепты. Виды. Советы

Грибы – удивительное создание природы. Они вызывают восторг, когда их находишь в лесу, например, желтых лисичек во мху после теплого дождика, или красную шляпку подосиновика в траве на лужайке. Но какие же грибы вкусные в супчике или в жаркое! Эта книга сообщит полезную информацию о том, какие бывают грибы, о их свойствах и особой обработке. А также добавит в вашу коллекцию много новых блюд и заготовок, которые без сомнения нужно приготовить.


Винный гид покупателя

Эта книга не просто энциклопедический перечень виноделов и виноградарей, но одновременно и учебник, и покупательский гид. Ее цель — превратить вас в более знающего и уверенного покупателя, достаточно осведомленного о «закулисных» деталях, чтобы при покупке вина вы могли сделать самый разумный выбор.


Секреты безопасной покупки подержанного автомобиля

Выбор и покупка подержанного автомобиля в России до недавнего времени были лотереей. Проигрыш в этой лотерее означал сотни тысяч рублей, выпущенных на ветер. Однако эта книга, представляющая собой краткое руководство по приобретению б/у машины, а также услуги нашего сервиса «АвтоКод» помогут свести риск нарваться на мошенников к нулю!


Телефонный компас

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.