Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Читайте также:
  1. EXCEL – ЧАСТЬ 1. НАЧАЛЬНЫЕ ПОНЯТИЯ
  2. I. Общая часть
  3. I. Организационная часть.
  4. II часть. ПСИХОЛОГО-ПЕДАГОГИЧЕСКОЕ ИЗУЧЕНИЕ КЛАССНОГО КОЛЛЕКТИВА (V КУРС)
  5. II. Основная часть
  6. II. Основная часть
  7. II. Основная часть
  8. II. Основная часть экзамена.
  9. III часть (3 балла)
  10. VII. Городская стена – неотъемлемая часть китайского градостроительства.

Лабораторная работа №8

Тема: Структуры.

Ход выполнения лабораторной работы должен быть отражен в отчете. Отчет должен содержать титульный лист, номера задания, коды программ, картинку с результатом выполнения программы и ответы на контрольные вопросы.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Языки программирования C/C++ поддерживает определяемые пользователем структуры – структурированный тип данных. Он является собранием одного или более объектов (переменных, массивов, указателей, других структур и т.д.), которые для удобства работы с ними сгруппированы под одним именем.

Структуры:

- облегчают написание и понимание программ.

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

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

Как и массив, структура представляет собой совокупность данных, но отличается от него тем, что к ее элементам (компонентам) необходимо обращаться по имени и ее элементы могут быть различного типа. Структуры целесообразно использовать там, где необходимо объединить данные, относящиеся к одному объекту.

Определение структуры состоит из двух шагов:

- объявление шаблона структуры (задание нового типа данных, определенного пользователем);

- определение переменных типа объявленного шаблона.

Объявление шаблонов структур. Общий синтаксис объявления шаблона структуры:

struct имя_шаблона { тип1 имя_переменной1; тип1 имя_переменной1; //другие члены данных; }; struct DateBase { char fam[20]; char name[15]; long TelNumber; char *Adress; double w; };

Имена шаблонов должны быть уникальными в пределах их области определения для того, чтобы компилятор мог различать различные типы шаблонов. Задание шаблона осуществляется с помощью ключевого слова struct, за которым следует имя шаблона структуры и список элементов, заключенных в фигурные скобки.

Имена элементов в одном шаблоне также должны быть уникальными. Однако в разных шаблонах можно использовать одинаковые имена элементов.

Задание только шаблона не влечет резервирования памяти компилятором. Шаблон представляет компилятору необходимую информацию об элементах структурной переменной для резервирования места в оперативной памяти и организации доступа к ней при определении структурной переменой и использовании отдельных элементов структурной переменной.

Среди членов данных структуры могут также присутствовать, кроме стандартных типов данных (int, float, char и т.д.), ранее определенные типы, например:

/* объявление шаблона структуры типа date */

struct date

{ int day, month, year; };

/* шаблон структуры person */

struct person

{

char fam[30], im[20], otch[15];

float weight;

int height;

struct date birthday;

};

Структура date имеет три поля типа int. Шаблон структуры person в качестве элемента включает поле birthday, которое, в свою очередь, имеет ранее объявленный тип данных: struct date. Этот элемент (birthday) содержит в себе все компоненты шаблона struct date.

Определение структур-переменных. Определение структуры-переменной ничем не отличается от объявления обычной переменной с предопределенным типом. Общий синтаксис:

struct имя_шаблона имя_переменной;

Пример:

struct person stud[10];

Компилятор выделит под каждую переменную количество байтов памяти, необходимое для хранения всех ее элементов.

Разрешается совмещать описание шаблона и определение структурной переменной.

Пример:

struct book

{

char title[20];

char autor[30];

double cast;

} book1, book2, *ptr_bk=&book1;

Пример:

struct date { int day, month, year;} date1[5]; // объявление массив из 15 структур

Доступ к компонентам структуры. Доступ к полям осуществляется с помощью оператора «.» при непосредственной работе со структурой или «->» - при использовании указателей на структуру. Эти операторы называются селекторами членов класса. Общий синтаксис для доступа к компонентам структуры следующий:

имя_переменной_структуры.член_данных;

имя_указателя->имя_поля;

(*имя_указателя).имя_поля;

Пример:




Дата добавления: 2015-04-20; просмотров: 26 | Поможем написать вашу работу | Нарушение авторских прав

<== 1 ==> | 2 |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав