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

  1. Динамическое распределение памяти. Связанные списки. Особенности использования связанных списков. Простой связанный список.

Динамическое распределение памяти. Связанные списки.

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

Функции для динамического распределения памяти, входящие в стандартную библиотеку:

  • malloc

  • calloc

  • realloc

  • free

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

Особенности использования связанных списков.

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

Простой связанный список.

// Программа на С++ - простой пример связанного списка

struct stboat

{

char sztype[15];

char szmodel[15];

char sztitle[20];

char szcomment[80];

int iyear;

longint lmotor_hours;

float fretail;

float fholesale;

struct stboat *nextboat;

} Nineveh, *firstboat, *currentboat;

  1. Библиотека языка С и ввод-вывод. Стандартные библиотеки С и C++. Доступ в библиотеку языка Си. Автоматический доступ. Включение файла. Включение библиотеки.

Библиотека языка с и ввод-вывод.

Когда нам нужно использовать такие функции, как printf(), getchar() и strlen(), мы обращаемся в библиотеку языка Си. Она содержит множество функций и макроопределений.

Стандартные библиотеки С и C++.

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

Библиотечные функции выполняют

  • математические действия,

  • функции для чтения и записи файлов на дисках,

  • функции управления памятью,

  • функции ввода/вывода

Список библиотек компилятора VisualC/C++, объединенных в функциональные группы:

  • Функции классифицирующие

  • Функции преобразования типов

  • Функции управления каталогами

  • Функции диагностики

  • Функции графики

  • Функции ввода/вывода

  • Функции интерфейсов (DOS, 8086, BIOS)

  • Функции манипулирования с данными

  • Функции математические

  • Функции выделения памяти

  • Функции управления процессами

  • Функции стандартные

  • Функции отображения текстовых окон

  • Функции времени и дат

Доступ в библиотеку языка Си.

Получение доступа к библиотеке зависит от системы,

Автоматический доступ.

Доступ к общим библиотечным функциям выполняется автоматически.

Включение файла.

Если функция задана как макроопределение, то можно директивой #include включить файл, содержащий ее определение.

Включение библиотеки.

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

  1. Потоковый ввод-вывод. Связь с файлами. Понятие файла.