28. Описание

28. Описание

Имя вводится в программе с помощью описания, которое задает его тип и, возможно, начальную величину. Даны понятия описания, определения, области видимости имен, времени существования объектов и типов.

Перед использованием имени (идентификатора) в C++ программе оно должно быть описано. То есть следует задать его тип, чтобы сообщить компилятору, к какого вида объектам относится имя. Рассмотрим несколько примеров, показывающих разнообразие описаний:

char ch;

int count = 1;

char* name = «Bjarne»;

struct complex {float re, im;};

complex cvar;

extern complex sqrt(complex);

extern int error_number;

typedef complex point;

float real(complex* p) {return p->re;};

const double pi = 3.1415926535897932385;

struct user;

Большинство описаний служит также определениями; т. е. они к тому же определяют для имени сущность, к которой оно относится. Для ch, count и cvar этой сущностью служит соответствующий объем памяти, который должен применяться как переменная, – эта память будет выделена. Для real это заданная функция, для constant pi это значение 3.1415926535897932385, для com28б plex этой сущностью служит новый тип. Для point это тип complex, поэтому point принимает смысл complex. Только описания

extern complex sqrt(complex); extern int errornumber; struct user;

не служат одновременно определениями. То есть объект, к которому они относятся, должен быть определен где-то еще. Код (тело) функции sqrt должен определяться определенным описанием, память для переменной errornumber типа int должна выделяться другим описанием, и какое-то другое описание типа user должно определять, что он из себя представляет. В C++ программе всегда должно присутствовать только одно определение каждого имени, но описаний может быть большое количество и все описания должны согласовываться с типом объекта, которого они касаются, поэтому в этом фрагменте есть две ошибки:

int count;

int count; // ошибка: переопределение exnern int errornumber; exnern int errornumber; // ошибка: несоответствие типов

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

8.11 Описание Asm

Из книги C++ автора Хилл Мюррей

8.11 Описание Asm Описание Asm имеет видasm ( строка );Смысл описания asm неопределен. Обычно оно используется для передачи информации ассемблеру через компилятор.9. ОператорыОператоры выполняются последовательно во всех случаях кроме особо


9.14 Оператор Описание

Из книги Пакеты программ. Требования к качеству и тестирование автора Автор неизвестен

9.14 Оператор Описание Оператор описание используется для введения нового идетификатора в блоке; он имеет видОператор_описание: описаниеЕсли введенный описанием идентификатор был описан ранее во внешнем блоке, внешнее описание становится скрытым на пртяжении блока,


3.1 Описание продукта

Из книги ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВСТРОЕННЫХ СИСТЕМ. Общие требования к разработке и документированию автора Госстандарт России

3.1 Описание продукта Каждый пакет программ должен содержать описание продукта. Описание продукта должно содержать характеристику продукта. Оно должно являться частью документации пакета для данного продукта. Оно должно содержать информацию по документации


4.2.1 Описание продукта

Из книги Программирование автора Козлова Ирина Сергеевна

4.2.1 Описание продукта Должно быть протестировано выполнение соответствующих требований раздела 3, а выполнение рекомендаций раздела 3 может быть


12.39 Описание версии ПО

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М


28. Описание

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

28. Описание Имя вводится в программе с помощью описания, которое задает его тип и, возможно, начальную величину. Даны понятия описания, определения, области видимости имен, времени существования объектов и типов.Перед использованием имени (идентификатора) в C++ программе


6.16.3 Описание маршрута

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

6.16.3 Описание маршрута Можно подумать, что для маршрутизации от источника достаточно создать список маршрутизаторов между источником и точкой назначения. Однако это не так. В таблице 6.4 представлено содержимое полей IP-адреса источника (Source IP Address), IP-адреса места


1.3.1. Описание дистрибутива

Из книги автора

1.3.1. Описание дистрибутива Название проекта Fedora Core не имеет никакого отношения к знакомому нам с детских дет произведению К.И. Чуковского «Федорино горе». Fedora Core является наследницей линейки RedHat (бесплатной), a Fedora означает фетровая шляпа (против Красной Шапочки RedHat)Fedora Core


Описание

Из книги автора

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


Описание

Из книги автора

Описание На названии (или описании) в первую очередь попадаются начинающие микростоковые фотографы и те, у кого в школе не было проблем с описанием картин на уроках русского языка. Если вам отказали по причине ошибки в названии изображения, значит, вы слишком увлеклись


Описание меток

Из книги автора

Описание меток Раздел описания меток начинается с зарезервированного слова label, после которого следует список меток, перечисляемых через запятую. В качестве меток могут быть использованы идентификаторы и положительные целые числа: a1,l2,777777;Метки используются для


Описание типов

Из книги автора

Описание типов Раздел описания типов начинается со служебного слова type, после которого следуют строки видаимя типа = тип; Например, type arr10 = array [1..10] of integer; myint = integer; pinteger = ^integer; IntFunc = function(x: integer): integer; Обычно описание используется для составных типов (статические массивы,