IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Небольшой вопросик
spill
сообщение 1.01.2008 19:56
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 58
Пол: Мужской
Реальное имя: Андрей

Репутация: -  2  +


Вот такое затруднение: если написать на Паскале так:
Procedure A (Var Data);
Begin
End;

и вызвать так:
Var
I: Integer;
Begin
A (I)
End.
То как к этой бестиповой переменной обращаться в процедуре? Что там будет храниться? Само значение переменной, или адрес?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 1.01.2008 21:35
Сообщение #2


Гость






Цитата
как к этой бестиповой переменной обращаться в процедуре?
Проще всего - описывать локально переменную по тому же адресу, что и Data:

procedure A(var data);
var MyData: integer absolute Data; { <--- }
begin
writeln(MyData);
MyData := 10;
end;

var
i: integer;
begin
i := 1;
A(i);
writeln(i);
end.

Но если ты не ищешь легких путей - то можно вот так:
procedure A(var data);
type
pT = ^T;
T = integer;
var
p: pT;
begin
writeln(pT(@data)^);
p := pT(@data);
p^ := 15;
end;

var
i: integer;
begin
i := 1;
A(i);
writeln(i);
end.
 К началу страницы 
+ Ответить 
andriano
сообщение 2.01.2008 12:40
Сообщение #3


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(spill @ 1.01.2008 19:56) *
Само значение переменной, или адрес?
Адрес.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
spill
сообщение 2.01.2008 15:32
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 58
Пол: Мужской
Реальное имя: Андрей

Репутация: -  2  +


Нет, там дело в том, что в процедуре A я не знаю какого типа будет Data
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 2.01.2008 15:53
Сообщение #5


Michael_Rybak
*****

Группа: Модераторы
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


 ! 
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...

Исправляем.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 2.01.2008 15:58
Сообщение #6


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


spill, а можно пример задачи, в которой получается, что ты не знаешь тип этой переменной?
ну и соответственно, какие действия собираешься с ней выполнять...


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 2:29
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"