русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Описание указателей


Дата добавления: 2013-12-23; просмотров: 936; Нарушение авторских прав


Понятие указателя

Ссылки и указатели

Вопросы для самопроверки

Файлы Input и Output

К текстовым файлам относятся и стандартные файлы INPUT и OUTPUT. Рассмотренные ранее операторы ввода-вывода с консоли Readln и Writeln являются частным случаем операторов обмена с текстовыми файлами, когда используются стандартные файлы ввода-вывода INPUT и OUTPUT.

Работа с указанными файлами имеет свои особенности, такие как:

· имена этих файлов в списках ввода-вывода не указываются;

· применение процедур Reset, Rewrite и Close к стандартным файлам ввода-вывода запрещено.

1. Что такое текстовые файлы?

2. Как описываются текстовые файлы в языке Паскаль?

3. Какие операции над текстовыми файлами Вы знаете?

4. Какие дополнительные процедуры и функции для работы с текстовыми файлами Вы знаете?

5. Что такое файлы Input и Output?

 

Каждая переменная, описанная в разделе var, имеет свое имя и описание. Описание, среди прочего, позволяет компилятору определить, сколько байтов памяти необходимо выделить в памяти для переменной. Имя же позволяет обратиться к зарезервированной под переменную ячейке памяти.

Однако каждая переменная, кроме своего имени, имеет и физический адрес: номер ячейки памяти, в которой хранится значение переменной.

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

Адрес интерпретируется двумя шестнадцатибитными словами BA:BS, где BAсегментный адрес, BSсмещение. Сегмент – участок памяти длиной 64 Кбайта.

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



Существует два типа указателей: типизированные и нетипизированные.

Типизированные указатели хранят адрес данных первого байта какого-либо конкретного типа. Для объявления таких указателей обычно используется символ ^, который размещается непосредственно перед типом данных, на значения которого ссылается типизированный указатель:

Пример:

type

IntPtr = ^Integer;

var

P1 = IntPtr;

P2 = ^Integer;

Отметим, что типизированные указатели – это единственный тип в языке Паскаль, который может ссылаться на еще не описанный тип.

Пример:

type

Link = ^Node; {тип Node будет описан только в следующей строке!}

Node = record

Key: Integer;

Next: Link;

end;

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

Пример:

var

P: Pointer;

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



<== предыдущая лекция | следующая лекция ==>
Дополнительные процедуры для работы с текстовыми файлами | Выделение и освобождение динамической памяти


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.