Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2009, 17:33   #1
aruy
 
Регистрация: 27.07.2009
Сообщений: 8
По умолчанию Знак ^ в delphi

если кто разьяснит что значит знак '^'. Встретился я с етим в таком примере:

Код:
type
     TElem  = ^TStek; 
     TStek   = record
     X:integer;  
     Y:integer;  
     View: Byte;  
     Number: Word;
     Next: TElem; 
     Prev: TElem; 
     end;
заранее спасибо =)

Последний раз редактировалось Stilet; 14.08.2009 в 08:26.
aruy вне форума Ответить с цитированием
Старый 13.08.2009, 17:35   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это означает указатель на переменную типа TStek
(с левой стороны если)
а справа для работы с переменной через указатель
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.08.2009, 17:41   #3
aruy
 
Регистрация: 27.07.2009
Сообщений: 8
По умолчанию

сколько программирую на дельфи( правда не долго), обявлял переменные обьектного типа просто без указателя(дельфи 7). С записями правда не работал...
aruy вне форума Ответить с цитированием
Старый 13.08.2009, 17:49   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а с динамической памятью работал?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.08.2009, 18:02   #5
aruy
 
Регистрация: 27.07.2009
Сообщений: 8
По умолчанию

поверхностно =)
aruy вне форума Ответить с цитированием
Старый 13.08.2009, 18:09   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

видимо на уровне динамических массивов(или обьектов)
потому и не знал о указателях...

кстати все обьекты(именно переменная обьекта...допустим Form1:TForm1
это именно указатели на данные обьекта
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.08.2009, 18:15   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Можешь и дальше работать без указателей, имеются практически все инструменты, чтобы реализовать алгоритм без явного использования указателей. А так на самом деле Вы их юзаете гораздо чаще чем даже указал Пепел Феникса, например, строки, если их длина более 255 символов.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 13.08.2009, 18:33   #8
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Я с указателями работаю (использую физический движок с их использованием), но так и не понял что конкретно они меняют, какие возможности предоставляют?
Например здесь
Цитата:
type
TElem = ^TStek;
TStek = record
X:integer;
Y:integer;
View: Byte;
Number: Word;
Next: TElem;
Prev: TElem;
end;
какая польза от указателя, почему в коде без него нельзя обойтись?
Вадим Буренков вне форума Ответить с цитированием
Старый 13.08.2009, 18:40   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

указатели нужны для работы с функами типа New GetMem и тп

очень полезны в DLL чтоб меньше данных гонять(да и не только в библиотеках)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.08.2009, 18:40   #10
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Указатель TElem это адрес ячейки памяти, откуда начинается TStek. Чтобы не перегонять кучу данных, достаточно просто знать где они находятся.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставить знак ударения ElenaTro Microsoft Office Word 5 25.03.2009 13:40
Есть чат на яваскрипте.не могу поставит знак +;Хотя люди его как то ставят, просто мой знак + заменяется maksim1983 JavaScript, Ajax 4 23.02.2009 07:55
Знак не равенства. IVANSour Общие вопросы Delphi 1 20.01.2009 06:53
Е - это знак суммы nikedenis Фриланс 7 03.01.2009 19:52