Форум: "Основная";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
ВнизИнициализация локальных указателей... Найти похожие ветки
← →
chizra © (2006-07-09 14:15) [0]Всем привет!
У меня такой вопрос:
можно ли так написать :
procedure proc;
var
P1,P2: Pointer;
begin
P1:=nil;
P2:=nil;
...
end;
Вообще по умолчанию локальным указателям присваивается nil
или они имеют случайные значения?
← →
begin...end © (2006-07-09 14:17) [1]Они имеют случайные значения.
← →
Ketmar © (2006-07-09 14:35) [2]по умолчанию никому и ничего не присваивают. что лежало в стеке -- то и попадёт в переменную. мусор.
← →
chizra © (2006-07-09 14:44) [3]Понятно. Спасибо.
← →
Юрий Зотов © (2006-07-09 16:27) [4]> chizra
Есть исключение - поля классов и глобальные переменные инициализируются (нулями, если явно не написано ничего другого).
← →
Германн © (2006-07-10 02:20) [5]
> Юрий Зотов © (09.07.06 16:27) [4]
> > chizraЕсть исключение - поля классов и глобальные переменные
> инициализируются (нулями, если явно не написано ничего другого).
>
Добавлю. Поля классов инициализируются (нулями, если...) при создании экземпляра класса. Глобальные Переменные инициализируются при старте программы, т.е. вообще тут ни причём.
И ещё. Локальным Переменным НИКОГДА НИЧЕГО не присвается "ПО УМОЛЧАНИЮ! ИМХО.
← →
Суслик © (2006-07-10 02:24) [6]
> И ещё. Локальным Переменным НИКОГДА НИЧЕГО не присвается
> "ПО УМОЛЧАНИЮ! ИМХО.
неправильное имхо.
nil присваивается:
1. дин массивам.
2. строкам (длинным).
3. интерфейсным ссылкам.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c