Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Pascal и Delphi / Borland Pascal / Использование указателей /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Работа с временными буферами данных - Программирование от RIN.RU
Работа с временными буферами данных

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


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


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


Работа с несколькими типами данных


Одной из общих причин использования указателей является ссылка на переменные структуры данных, то есть записи или массивы, которые не всегда имеют одну и ту же структуру. Например, вы можете выделить блок памяти, зарезервированный для "протокола" элементов строк различной длины, набранных в поле ввода данных. Чтобы прочитать список протокола, подпрограмма должна просмотреть блок и найти отдельные строки. Для указания начала блока вы можете использовать простой указатель. В этом случае указатель работает аналогично передаче функции или процедуре нетипизированного параметра var - вы просто хотите сообщить, где что-то находится, без указания того, что это такое.




 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Для чего используются указатели?

Работа с большими объемами данных

Работа с данными неизвестного размера

Связанные списки

Выделение памяти для динамических переменных

Процедуры GetMem и FreeMem

Общие проблемы использования указателей

Потери динамически распределяемой памяти

Управление связанным списком

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь