Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Skhanova.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
117.25 Кб
Скачать
  1. Указатели. Операции над указателями. Косвенная адресация.

Указатель – это переменная в которой содержится адрес. Память под указатели выделяет сегменты данных и занимает 4 бит данных.

где: p - указатель, ie - целочисленное выражение, # - символ операции '+' или '-'.

Значением таких выражений является увеличенное или уменьшенное значение указателя на величину ie*sizeof(*p). Следует помнить, что операции с указателями выполняются в единицах памяти того типа объекта, на который ссылается этот указатель. 

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

Любой указатель можно сравнивать со значением NULL, которое означает недействительный адрес. Значение NULL можно присваивать указателю как признак пустого указателя. NULL заменяется препроцессором на выражение (void *)0.

  1. Работа с текстовыми файлами .

  1. Чтение файла

  2. Запись файла

  3. До запись файла

  4. Удаление из файла

  5. Корректировка информации в файле (ввести какие-то изменения в файл)

  6. Файловая сортировка


5

  1. Динамическое распределение памяти. ( Назначение, размещение, функции выделения и удаления динамической памяти).

Динамический распределяемый раздел памяти называется динамической памятью и память под него выделяется в свободной области (heap – куча).

Использование динамических величин предоставляет программисту следующие дополнительные возможности:

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

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

  3. Использование динамической памяти позволяет создавать структуры данных переменного размера.

  4. С динамическими данными работают только через указатели. В указатели заносится адрес первого байта выделенной памяти.

Указатель определяется таким образом: p:^integer; new(p);

Динамическая память выделяется new(p).

Dispose – освобождение памяти под массив

Алгоритм создания динамических массивов

  1. Определить указатель

  2. Ввести кол-во элементов

  3. С помощью команды ‘new’ выделить динамическую память под данное кол-во

  4. Заполнить элементы массива значениями

  5. Обработать элементы массива

  6. После обработки элементов массива, массив удалить, то есть освободить память

  1. Форматный ввод/вывод . ( примеры).

PRINTF

SCANF

6

  1. Инструкции ветвления (с примерами).

  2. Прямой доступ к элементам файла.

Допустим только последовательный доступ к элементам файла. Но с помощью дополнительных возможностей можно организовать прямой доступ к записям файла. Элементы файла пронумерованы в файле, начиная с нуля. Задав номер элемента файла можно непосредственно установить указатель на данный/нужный элемент. После этого можно прочитать данный элемент или перезаписать его.(Стр.13)

7