рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Объявление и создание динамических структур данных. Указатели

Объявление и создание динамических структур данных. Указатели - раздел Информатика, Информатика и программирование на языке Паскаль В Языке Паскаль Имеются Средства Создания Динамических Структур Данных, Котор...

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

При объявлении динамической переменной в разделе описаний указывается не сама переменная, а указатель (ссылка) на нее, следующим образом:

<имя указателя>: ^ <тип указателя>;

Такое объявление называется объявлением типизированного указателя.

Например,

Var P: ^ char; {указатель на переменную типа char }

Указатель – это переменная, значением которой является адрес другой переменной заданного в объявлении указателя типа.

Рассмотрим пример использования указателя типа char. Указатель объявляется с помощью операции разыменования (^). Использование имени указателя в программе означает обращение к адресу ячейки памяти. Чтобы обратиться к содержимому ячейки, на которую ссылается указатель, требуется после имени указателя поставить символ ‘^’.

P^ - содержимое ячейки, адрес которой является значением указателя P.

 

P: ^ char P^

 

Адрес ‘*’

 

Выделение и освобождение памяти под динамические переменные выполняются стандартными процедурами New, Dispose, GetMem, FreeMem, Mark и Release, соответственно, где

· Procedure New(Var p: pointer); размещает динамическую переменную и возвращает ее адрес как значение указателя p;

· Procedure Dispose(Var p: pointer); уничтожает динамическую переменную;

· Procedure GetMem(Var p: pointer; Size: word); размещает динамическую переменную указанного размера и возвращает ее адрес как значение указателя p;

· Procedure FreeMem(Var p: pointer; Size: word); уничтожает динамическую переменную указанного размера;

· Procedure Mark(Var p: pointer); размещает динамическую переменную и возвращает ее адрес как значение указателя p; эта переменная уничтожается с помощью процедуры Release;

· Procedure Release(Var p); уничтожает динамическую переменную указанного размера.

Описатель pointer используется для объявления нетипизированного указателя, который совместим с указателями любого типа.

 

– Конец работы –

Эта тема принадлежит разделу:

Информатика и программирование на языке Паскаль

Московский государственный горный университет.. Кафедра Системы автоматизированного проектирования.. КАРПОВИЧ Е Е..

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Объявление и создание динамических структур данных. Указатели

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Москва-2005
    УДК 681.142.2(075.8)     Карпович Е.Е. Информатика и программирование на языке Паскаль. Учебное пособие. -М.: МГГУ, 2005 г. 152

Предмет информатики как науки
Информатика – это техническая наука, изучающая способы создания, хранения, обработки и передачи данных средствами вычислительной техники, а также принципы функционирования этих средств и методы упр

Структура аппаратных средств ПЭВМ
  Персональная ЭВМ–это комплекс программных и аппаратных средств, предназначенных для автоматической обработки информации. П

Программное обеспечение пэвм
  Назначением ЭВМ является выполнение программ. Совокупность программ для персонального компьютера называется программным обеспечением (ПО). ПО ПЭВМ включает в себя три больших класса

Этапы разработки программ
  Разработка программ включает в себя следующие этапы: 1. Анализ и уточнение требований, предъявляемых к программе. Иногда этот этап называют постановкой задачи. 2.

Формы представления алгоритмов
  Ключевым этапом разработки программы является этап разработки алгоритма и структур данных. Результат этого этапа – формализованное описание или представление алгоритма. Под формой п

Алгоритм линейной структуры
  Заданы радиусы оснований R1 и R2, длина образующей L и высота h прямого усеченного конуса. Найти площадь поверхности и объем усеченного конуса.   Постановк

Алгоритм разветвляющейся структуры
  Вычислить значение функции в зависимости от условия по формуле:   Постановка задачи.

Ввод(X)
3.2.3. Алгоритмы циклической структуры.   Пример 1. Опреде

Ввод(K)
       

Ввод(R)
           

Алфавит и лексемы
  Язык Паскаль, как и любой язык программирования имеет свой алфавит, синтаксис и семантику. Алфавит ¾ это набор допустимых в языке символов. Синтаксис ¾ это совокупност

Структура программы на языке Паскаль
  Паскаль-программа включает в себя следующие разделы: § заголовок программы (Program); § раздел указания используемых модулей (Uses); § раздел объявления м

Массивы
  Данными типа «массив» являются массивы. Массив представляет собой фиксированное количество компонент одного и того же типа. Массив определяется именем, количеством размерностей (коо

Множества
  Тип-множество, используемый в языке Паскаль, соответствует понятию множества в математике, и создается с помощью следующего конструктора типа: Type T = set of T0;

Процедуры и функции
  При создании программы решения сложной задачи выполняется декомпозиция (разделение) задачи на подзадачи, а подзадачи – на еще меньшие подзадачи. Каждая подзадача имеет точно определ

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

Передача данных в подпрограмму с помощью параметров. Формальные и фактические параметры
  Как заголовок процедуры, так и заголовок функции может содержать список формальных параметров, который имеет следующий формат: (<описание параметра 1>; < описание

Использование процедур и функций
  Задание. Определить наибольший общий делитель двух целых чисел. Постановка задачи. Входные данные: A , B – целые, положительные числа. Вых

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

Основные определения
  По способу распределения памяти данных в программах делятся на статические и динамические. Данные статической структуры – это данные, размещение которых в памяти ЭВМ и взаимосвязи м

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

Результаты работы программы
0 -- Exit; 1 -- Create; 2 -- Display; 3 -- Add; 4 -- Delete; Input option (0 -- 4)   0 -- Exit; 1 -- Create; 2 -- Display; 3 -- Add; 4 -- Delete; Input o

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги