03.04.2020, 08:58 [+3 UTC]
в нашей команде: 4 325 чел. | участники онлайн: 3 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.83 (12.03.2020)
JS-v.1.35 | CSS-v.3.37

Общие новости:
28.03.2020, 20:29

Форум:
28.03.2020, 21:05

Последний вопрос:
02.04.2020, 20:19
Всего: 151914

Последний ответ:
03.04.2020, 07:09
Всего: 259920

Последняя рассылка:
02.04.2020, 21:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
28.01.2011, 00:10 »
Дутчак Василий Николаевич
Спасибо за ответ, информация то что надо - но я уже получил нужный результат (сообщение в мини-форуме просмотрите). [вопрос № 181990, ответ № 265608]
02.12.2009, 20:00 »
colonel99
Что сказать? Толково!!! [вопрос № 174627, ответ № 257194]
05.11.2012, 23:50 »
Muxa
что знал то указал =) [вопрос № 186780, ответ № 271669]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 111
Асмик Гаряка
Статус: Советник
Рейтинг: 82
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 0

Перейти к консультации №:
 

Консультация онлайн # 197979
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: Voran4ik (Посетитель)
Отправлена: 15.03.2020, 19:45
Поступило ответов: 1

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Добрый день подскажите пожалуйста по работе есть задание и есть версия, у вас на сайте уже есть такая но раскрыто не в полной мере.

Приложение:

Состояние: Консультация закрыта

Здравствуйте, Voran4ik!

Ткма Указателей обширна, с одной стороны там все просто, но с другой не все так отнозначно.

© Цитата: Voran4ik
Для указателей в Турбо Паскале допустимы только операции присваивания и сравнения.

Ну с присваиванием все ясно, указатель должен как-то получать некоторое значение, а вот со сравнением - сложнее.
© Цитата: Помощь
Операторы сравнение: =, < , > и их комбинации

К указателям можно применить только =, но не которые диалоги PASCAL допускают ещё и <>, и больше ничего.

Типизированные указатели, такие-же переменные, того или иного типа, как и обычные. Разница в том, что под первые нужно выделять память в ходе выполнения программы, под вторые память выделяется во время компиляции программы. Любая переменная, представляет собой адрес и длину конкретного типа. Компилятор при создании программы, применяет к этим переменным методы характерные для данного типа.

© Цитата: Voran4ik
Можно ли переменные St и RRec описать без предварительного определения типа?

Паскаль разрешает создавать указатели, только зарегистрированных типов.


© Цитата: Voran4ik
Что при этом произойдет с указателем HeapPtr?


Подробности можно узнать тут.

Удачи!


Консультировал: Зенченко Константин Николаевич (Старший модератор)
Дата отправки: 25.03.2020, 11:04

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 197979

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 1

= общий = | 16.03.2020, 15:16 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Voran4ik:

© Цитата: Voran4ik
Для указателей в Турбо Паскале допустимы только операции присваивания и сравнения.

Утверждать, что к указателям можно применить только сравнение или присваивание - не корректно.
Типизированные указатели, такие-же переменные, того или иного типа, как и обычные. Разница в том, что под первые нужно выделять память в ходе выполнения программы, под вторые память выделяется во время компиляции программы, т.е. где они размещены - в динамической памяти(первые), в сегменте данных(вторые), В любом случае: переменная или указатель(любого типа) - это адрес, который указывает на некоторый блок памяти(в том числе и нулевой длины - для разменованных, или не типизированных указателей).

К примеру NEW и GETMEM:
© Цитата:
New (процедура)
Создает новую динамическую переменную и устанавливает на нее указатель.
Объявление: Procedure New(Var P : Pointer [, Init : Constructor ])

GetMem (процедура)
Создает динамическую переменную определенного размера и записывает ее адрес в памяти в указательную переменную.
Объявление: Procedure GetMem(Var P : Pointer; Size : Word);

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

© Цитата: Voran4ik
Указателю можно присваивать содержимое другого указателя того же типа или стандартную константу NIL (пустой указатель), совместимую по присваиванию с указателями любых типов

NIL - константа равная 0х0000, т.е. это адрес равный нулю, но в куче не может быть нулевого адреса, по этому и выбрали такое значение.

© Цитата: Voran4ik
Работа

Программа работает так:

Одна ошибка:sizeof(St^.Length): в ТР нет такого свойства строки..

ps: Советую найти книгу: Пильщиков В. Программирование на языке ассемблер IBM PC.
В главе 10.3.3 Организация кучи. Есть много теоритической информации по организации кучи, для того, чтобы на ассемблере создать аналог кучи своими руками. Если не обращать внимание на код, то остальная информации будет полезна.
smile

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 2

= общий = | 22.03.2020, 22:08 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Voran4ik:

тема указателей обширна, что именно Вам не понятно.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

 

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

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.16580 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.83 от 12.03.2020
Версия JS: 1.35 | Версия CSS: 3.37