Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Доступ до об’єктів за адресою пам'яті здійснюється через спеціальні величини.Содержание книги
Поиск на нашем сайте Вказівник – це такий же складений тип даних, як масиви, рядки; але він не є сукупністю елементів деякого базового типу. Значеннями вказівників є чотирибайтні числа, проте це не є числа типу longint. Адреса являє собою комбінацію із 2-х 2-байтних цілих чисел. Одне із цих чисел є адресою початку сегменту в пам'яті, друге число – зміщення відповідної комірки пам'яті від початку сегменту. Тема: Адресація пам'яті. Початково оперативна пам'ять ЕОМ вимірювалася десятками Кбайт, тому всі програми, які виконувалися були обмежені за розміром. З середини 80-х теоретично обґрунтовано і практично реалізовано використання 1 Мб пам'яті, при цьому постала проблема неможливості подальшого розширення її. Через пару років використовували, крім основної пам'яті (1 Мб) – додаткову та розширену пам'ять, проте базова пам'ять залишається в межах 1 Мб і саме в ній починають виконуватися більшість програмних робіт. Всі комірки пронумеровані від нуля до деякого кінцевого значення, що в 16-вій системі координат Звичайно при програмуванні не зручно користуватися адресами, що визначаються числом, розміром 2,5 байта. Звуження до 2 байт дало б пам'ять 65536, а розширення до 3-х дало б пам'ять більшу ніж можна було б зробити на той час (більше ніж 4 мільярди – 4 Гб). Тому для адресації 1 Мб пам'яті вирішили умовно розділити її на окремі сегменти, причому сегменти могли перекривати один одного і розмір міг бути різним, але не більше 65536, це зроблено тому, що в межах сегменту можна користуватися для адреси 2-хбайтними числами. Сегменти в пам'яті виділяються не в довільному місці, а лиш з байта, номер якого кратний 16. Тепер для збереження адреси початку сегменту нема потреби використовувати п’ять 16-вих цифр, а лише чотири, а останній 0 завжди зберігається в пам'яті. Таким чином, для збереження повної адреси байта у пам'яті, використовується 2 2-хбайтних числа: адреса сегменту із 4-х цифр та зміщення байту в межах сегменту. Повна адреса обчислюється як сума XXXX0 адреса +XXXX зміщення
ZZZZZ повна адреса. Наприклад Пам'ять – вулиця з деякою кількістю рядків 0 – 9999. замість того, щоб користуватися 4-значними числами, квартири умовно розміщуються в будинках по 100 квартир з нумерацією від 0 до 99. повний номер квартири визначається за формулою 1234=12*100+34. Квартира з номером 34 у 13 будинку з номером 12. Тема: Оголошення та операції над вказівними величинами. Вказівники оголошуються при допомозі спеціальної операції ^. Ця операція застосовується над деяким базовим типом, при цьому такі вказівники можуть зберігати адреси величин саме цього базового типу. Хоча всі вказівники - це адреси, проте вказівники на різні базові типи є несумісними. Наприклад. TYPE Pint=^INTEGER; Pchar=^CHAR; Pstring=^STRING; PPint=^Pint; PPPint=^PPint; Тут оголошено 5 типів вказівників: Pint – вказівник цілих чисел; Pchar – вказівник на символи; Pstring – вказівник на рядки; PPint – вказівник на вказівник на цілі; PPPint – вказівник на вказівник на вказівник на цілі. Хоча всі оголошені типи є вказівниками, проте всі вони не сумісні між собою. В Pascal є стандартний вказівний тип, який сумісний з будь-яким із вказівників. Тип – pointer. Змінні у програмі можуть оголошуватися або через раніше названі вказівні типи, або явним чином. Наприклад. VAR Pi1:Pint; Pi2:^integer; PPi1:PPint; PPi2:^Pint; PPPi1:PPPint; PPPi2:^PPint; Кожна з 3-х пар змінних є величинами еквівалентних вказівних типів. Перша змінна в кожній парі оглушена через ідентифікатор вказівного типу, друга – явним чином, через операцію ^. Між змінними кожної пари можна виконувати операції присвоєння. Значення кожної із змінних – це адреса деякої величини відповідного типу, якщо вказівником не задано значення, то ним буде значення з довільною адресою, що розміщувалася на момент виконання операції. Для того, щоб отримати адресу деякої змінної базового типу, використовується унарна операція взяття адреси (@). VAR0000000 i1,i2:integer; BEGIN Pi1:=@i1; PPi1:@Pi1; PPi2:=@@i1 END; Змінній Рі1 присвоєна адреса і1; змінній РРі1 присвоєна адреса адреси і1; змінній РРі2 присвоєно теж саме значення, але двократним використанням @. Якщо потрібно отримати значення деякої величини, адреса якої відома, використовується інша операція – це унарна posfx-на операція і позначається ^. Ці унарні операції виконуються в напрямі від ідентифікатора змінної. Операція @ виконується з права на ліво, а ^ - з ліва на право. Для того, щоб застосування операції розіменування вказівника було коректним. Цей вказівник повинен бути попередньо зв’язаний зі змінною оператором @.
|
||
|
Последнее изменение этой страницы: 2016-09-19; просмотров: 335; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |