![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Переменные в функциях [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]Если она объяввлена внутри функции - то не должна :), но на всякий случай в самом начале функции ей желательно присвоить исходное значение.
Если же нужно сохранить результат переменной - сохраняй в переменную проекта.