19789

Розподіл оперативної пам’яті. Вказівники види, об’явлення, операції

Доклад

Информатика, кибернетика и программирование

4.Розподіл оперативної пам’яті. Вказівники: види об’явлення операції. Вказівником називається змінна яка містить в собі певниу адресу мається на увазі адресу в оперативній пам'яті. Як правило вказівники містять адресу деякої іншої змінної або виділеної д

Украинкский

2013-07-17

34.5 KB

3 чел.

4.Розподіл оперативної пам’яті. Вказівники: види, об’явлення, операції.

Вказівником називається змінна, яка містить в собі певниу адресу (мається на увазі адресу в оперативній пам'яті). Як правило вказівники містять адресу деякої іншої змінної або виділеної динамічно області пам'яті (кажуть: вказують або посилаються на цю змінну або область пам'яті).

Var 

P: Pointer; {объявляем переменную

-указатель}

S: Byte; {и некую переменную}

Begin
{ . . . }
P:= @S; {теперь P указывает на S}
{ . . . }
End.

сам вказівник не може містити інформації про тип (тобто структуру) того, що за цією адресою розташовано. Тому при зверненні за вказівником необхідно підказати компілятору як використовувати те, на що посилається покажчик, що можна робити за допомогою приведення типів, що не завжди зручно. Тому в введені так звані типізовані вказівники.

Type 

<имя_типу_вказівника > = ^<тип>;

Для того, щоб звернутися за вказівником до області пам'яті, на яку він вказує використовують той же знак, але праворуч від змінної типу вказівник:

<вказівник > ^
Дана структура розглядається як змінна. Якщо <вказівник> є вказівник типізований, то тип цієї змінної відомий компілятору, в іншому випадку, як уже зазначалося, необхідно приведення типу даної змінної (її можна привести до будь-якого типу, так як розмір її не визначений).

Сама наявність будь-якого типу і навіть об'єктів (примірників, змінних) даного типу, цілком безглузда до тих пір, поки немає можливості присвоювати їм (об'єктів) значення і застосовувати операції.
Присвоєння значень вказівниками виробляється
a. оператором присвоювання безпосереднього адреси змінної, процедури або функції:
<вказівник>: = @ <ідентифікатор>;
в <вказівник> записується адреса змінної, типізований константи, процедури або функції (операція @ так і називається - "взяття вказівника") або
<вказівник1>: = <вказівник1>;
b. оператором присвоювання адресного вирази:
<вказівник>: = <адресний вираз>;
де <адресний вираз> є вираз, результатом обчислення якого є адреса (у формі вказівника) - вказівник, функція, яка повертає вказівник etc.
c. в результаті виконання операцій виділення пам'яті відповідними процедурами і функціями.

Особливе місце в безлічі значень вказівників займає "порожню адресу" - Nil. Він визначений завжди і, відповідно, з ним можна порівняти будь-який  вказівник. Вважається, що якщо вказівник дорівнює Nil, то змінна, на яку він вказує відсутня в ОП (відповідно, її не можна звідти видалити).

Значення вказівник можна інкрементіровать і декрементіровать, використовуючи, відповідно, Inc і Dec, причому для типізованих покажчиків проводиться збільшення або зменшення вмісту вказівника на розмір відповідного йому типу. На практиці це означає наступне. Припустимо в деякій області пам'яті (послідовно) розташовані кілька однотипних змінних, і є вказівник, який посилається на першу з них. Тоді збільшення вказівника за допомогою Inc призведе до того, що він буде посилатися на наступну зміну.

Над вказівниками також визначені операції порівняння на рівність (=) і нерівність (<>), інших порівнянь не допускається.

І, як говорилося вище, над вказівниками визначена операція "звернення по", результатом якої є область пам'яті (з типом або без), на яку посилається вказівник ^.


 

А также другие работы, которые могут Вас заинтересовать

23622. Философия и филология 120 KB
  Автономова о российских дискуссиях 90х годов [1] Дискуссии очные и заочные по поводу взаимоотношений философии и филологии не случайно стали актуальными в современной России: в них ярко отображаются некоторые важные особенности интеллектуальной жизни. О филологической философии. Интересную точку зрения на взаимоотношения философии и филологии предложил А. Но филология вскоре забыв о том чем была обязана философии стала все тексты воспринимать и описывать как свои.
23624. ГЛУБИННЫЕ И ПОВЕРХНОСТНЫЕ СТРУКТУРЫ В ИНТОНАЦИИ 42.37 KB
  Поверхностная реализация каждой такой комбинации является результатом интегративных процессов в число которых входят как достаточно глубинные они совмещают некоторые исходные акцентные характеристики так и гораздо более поверхностные связанные исключительно с фонетическим озвучиванием предложения. Мы рассмотрим только проблемы акцентуации поскольку именно акценты несут основную семантическую нагрузку. Совмещенные акценты В общем случае сферой действия интонационно реализуемой категории является та или иная коммуникативная составляющая...
23625. Бытовая философия языка и языковые контрасты 247 KB
  Кашкин Воронеж Бытовая философия языка и языковые контрасты 1. В Древнем Египте считалось что у соседних народов язык во рту вырос в другом направлении поэтому они и говорят на других неправильных и непонятных языках. Многие наши современники также считают что есть правильные и неправильные красивые и некрасивые трудные и легкие языки что из собственный язык – самый красивый правильный и ясный что в их языке каждое слово имеет одно определенное значение в то время как в иностранных языках значений много что в каждом языке...
23626. Типовые топологии сетей 219.5 KB
  При создании сети в первую очередь следует выбрать топологию физических связей. Под топологией сети понимается конфигурация графа, вершинам которого аппаратура сети, а ребрам — физические связи между ними. Оборудование - узлы сети.
23628. Как я изучаю языки 706.5 KB
  Работая с этими языками я перевожу с одного на другой в любом сочетании и в перевод включаюсь мгновенно. Прежде чем приступить к работе связанной с применением итальянского испанского японского китайского или польского языка я чтобы освежить знания обычно трачу полдня просматривая свои записи. С остальными шестью языками я работаю только как переводчик художественной и специальной литературы то есть имею здесь лишь пассивную практику.
23629. СКОЛЬКО НА ПЛАНЕТЕ ЯЗЫКОВ 808 KB
  Сканировал и проверил Илья Франк СКОЛЬКО НА ПЛАНЕТЕ ЯЗЫКОВ На скольких языках говорят люди населяющие планету Ответить на этот вопрос казалось бы не так уж трудно. Но почему тогда разные ученые называют различное число языков планеты: одни говорят о 20 тысячах другие о 10 тысячах третьи о 5 тысячах а некоторые лингвисты полагают что население нашей планеты изъясняется всегонавсего на 2 тысячах языках. Но можно ли провести границу при исчислении количества языков между языком и его диалектом Мы знаем что на Юге России говорят не...
23630. ЯЗЫКОВОЕ РОДСТВО СЛАВЯНСКИХ НАРОДОВ 346 KB
  литовский белорус. белорусский нем. старославянский древнепрус. древнепрусский укр.