Понедельник, Июль 5th, 2010

Шпоры по С++

char *firm; // Издательство
int year; // Год издания
int pages; // Количество страниц
};
Такое определение вводит новый производный тип, который называется структурным типом. В данном примере у этого структурного типа есть конкретное имя card .
В соответствии с синтаксисом языка определение структурного типа начинается со служебного слова struct, вслед за которым помещается выбранное пользователем имя типа. Описание элементов, входящих в структуру, помещаются в фигурные скобки, вслед за которыми ставится точка с запятой. Элементы структуры могут быть как базовых, так и производных типов. Например, в структурах типа card будут элементы базового типа int и производного типа char * .
Определив структурный тип, можно определять и описывать конкретные структуры, т. е. структурированные объекты, например, так :
сard rec1, rec2, rec3;
Здесь определены три структуры (три объекта) с именами rec1, rec2, rec3. Каждая из этих структур содержит в качестве элементов свои собственные данные: char *title ; char *city; …
состав которых определяет структурный тип с именем card.
Если структура определяется однократно, т.е. нет необходимости в разных частях программы определять или описывать одинаковые по внутреннему составу структурированные объекты, то можно не вводить именованный структурный тип, а непосредственно определять структуры одновременно с определением их компонентного состава. Следующий оператор определяет две структуры с именами XX, YY, массив структур с именем ЕЕ и указатель pst на структуру: struct { char N[12]; int value; } XX, YY, EE[8], *pst;
В ХХ, YY и в каждый элемент массива EE[0],…,EE[7] входят в качестве элементов массив char N[12] и целая переменная value. Имени у соответствующего структурного типа нет.
Для обращения к объектам, входящим в качестве элементов в конкретную структуру, чаще всего используются уточненные имена. Общей формой уточненного имени элемента структуры является следующая конструкция:
имя_структуры.имя_элемента_структуры
Например, для определенной выше структуры YY оператор
YY.value = 86;
присвоит переменной value значение 86 .
При определении структур возможна их инициализация, т.е. задание начальных значений их элементов. Например, введя структурный тип card, можно следующим образом определить и инициализировать конкретную структуру:
card dictionary= {“ Hornby A.S.”, ”Oxford students\
dictionary of Current English”, “Oxford”,
“Oxford University”, 1994, 769 };
С именем структурного типа не связан никакой конкретный объект, и поэтому с его помощью нельзя сформировать уточненные имена элементов. Определение структурного типа вводит только шаблон (формат, внутреннее строение) структур. Идентификатор card в примере — это название структурного типа (т.е. “ярлык” или “этикетка” структур, которые будут определены в программе).

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

Категория: Шпоры