Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Переменные в функциях [D7, XP]


Sysanin ©   (2005-10-06 16:13:00) 

Если переменная описана в функции и при работе даной функции эта переменная изменяется, то при повторном использовании этой функции значение переменной сохраниться или нет?


msguns   (2005-10-06 16:43:00) [1]

Марш к основам паскаля !


evvcom   (2005-10-06 16:40:00) [2]


> Если переменная описана в функции и при работе даной функции
> эта переменная изменяется

Где описана? Она может быть описана в списке формальных параметров или в разделе описания локальных переменных. Судя по всему тебя интересует локальная переменная. Для нее выделяется место в стеке, поэтому если за первым вызовом следует второй вызов этой же функции, то вероятно значение в стеке никто не запортит, и ты увидишь старое значение. Но это не значит, что так можно делать. Программировать надо наверняка и полагаться, что в том мусоре, который содержится в когда-то свободном стеке, ты найдешь то, что ожидаешь, нельзя.

> Если же нужно сохранить результат переменной  - сохраняй
> в переменную проекта.

Это что за зверь? Есть переменные локальные и глобальные. И в этом случае совсем необязательно сохранять результат в глобальных переменных.


Ищущий   (2005-10-06 16:18:00) [3]

Если она объяввлена внутри функции - то не должна :), но на всякий случай в самом начале функции ей желательно присвоить исходное значение.
Если же нужно сохранить результат переменной  - сохраняй в переменную проекта.


Наверх

Титульная страница Поиск, карта сайта Написать письмо