Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вопрос-ответ.docx
Скачиваний:
21
Добавлен:
11.05.2015
Размер:
123.88 Кб
Скачать

27. Структуры. Шаблон структуры. Способы обращения к полям структуры.

*Структуры

Структура – это составной тип данных, в котором под одним именем объ-единены данные различных типов. Отдельные данные структуры называются полями

Объявление структуры осуществляется с помощью ключевого слова struct, за которым указывается ее имя и список элементов, заключенных в фи-гурные скобки:

struct имя

{

Тип_элемента_1 имя_элемента_1; тип_элемента_2 имя_элемента_2;

...

Тип_элемента_n имя_элемента_n;

} ;

*Способы обращения к полям структуры.

К полям структуры можно обращаться через составное имя. Формат обращения:

имя_структуры.имя_поля

или

указатель_на_структуру–>имя_поля

28. Создание структурных переменных.

Создание структурной переменной возможно двумя способами: с использованием шаблона (типа) или без него.

Создание структурной переменной pt на основе шаблона выполняется следующим образом:

struct point //Определение типа структуры

{

int x;int y;

};

……

struct point pt; //Создание структурной переменной

Структурная переменная может быть задана уникальным образом:

struct //Определение анонимного типа структуры

{

char name[20];

char f_name[40];

char s_name[20];

} copymy; //Создание структурной переменной

При размещении в памяти структурной переменной можно выполнить ее инициализацию

29. Работа с динамической памятью. Операции new, delete

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

Динамическое (т.е. осуществляемое в процессе работы программы) выделение памяти означает:

  1. поиск свободного (т.е. не занятого пока никаким объектом) участка памяти требуемого размера;

  2. объявление его занятым (чтобы никакая последующая операция выделения памяти не назначила его другому объекту);

присваивание его адреса какому-либо указателю, через который в дальнейшем будет осуществляться работа с этим участком

Для работы с динамической памятью в С++ введены две операции:

захват памяти - new,

освобождение захваченной ранее памяти - delete

Формат операции new для массивов:

указатель = new тип [количество] ;

Результат операции new, присваиваемый указателю – адрес начала области памяти для размещения данных указанного количества и типа. При нехватке памяти – результат NULL.

Формат операции delete:

delete указатель;

либо: delete [] указатель; (эти записи равносильны)

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

30. Работа с файлом. Необходимые действия при обработке файлов.

Файлом называют способ хранения информации на физическом устройстве. Файл — это понятие, которое применимо ко всему — от файла на диске до терминала. В C++ отсутствуют операторы для работы с файлами. Все необходимые действия выполняются с помощью функций, включенных в стандартную библиотеку. Они позволяют работать с различными устройствами, такими, как диски, принтер, коммуникационные каналы и т.д