Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / 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
Работа с большими объемами данных

По мере того как программы становятся более сложными, и требуются работа с большим количеством данных, область объемом в 64К, зарезервированная в Borland Pascal для данных, может оказаться недостаточной, чтобы содержать все необходимые программе данные. Указатели позволяют вам обойти эту проблему.


Когда вы описываете в Borland Pascal глобальные переменные, компилятор выделяет для них память в области, которая называется сегментом данных. Сегмент данных имеет максимальный размер 64К. Это означает, что общий объем всех ваших глобальных переменных не может превышать 64К. Для многих программ этот предел значения не имеет, но в некоторых случаях вам может потребоваться больший объем.


Примечание: Локальные переменные не помещаются в сегмент данных и в пределе 64К не учитываются.


Предположим, например, что у вас есть программа, требующая массива в 400 строк по 100 символов каждая. Для этого массива требуется примерно 40К, что меньше максимума в 64К. Если остальные ваши переменные помещаются в оставшиеся 24К, массив такого объема проблемы не представляет.


Но что если вам нужно два таких массива? Это потребовало бы 80К, и 64К сегмента данных не хватит. Чтобы работать с большими объемами данных, вам нужно использовать динамически распределяемую область памяти. Ваша программа может выделить в динамически распределяемой области 80К, поддерживая указатель в виде ссылку на адрес данных. Указатель занимает в сегменте данных только 4 килобайта.


Что такое динамически распределяемая область памяти?


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


Обычно в Borland Pascal вы можете зарезервировать память в динамически распределяемой области, получить к ней доступ через указатель, а затем снова освободить память. Подробности о распределении памяти в динамически распределяемой области вы можете найти ниже в разделе "Как использовать указатели?".



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

8  В тему

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

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

Работа с временными буферами данных

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

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

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

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

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

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

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