Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.20;
Скачать: CL | DM;

Вниз

Инициализация локальных указателей...   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
15-1153421716
Vendict
2006-07-20 22:55
2006.08.20
Клиент


1-1152252447
kyn66
2006-07-07 10:07
2006.08.20
Отследить каталок на наличие файлов


15-1153073622
NAS
2006-07-16 22:13
2006.08.20
Оплачу програмку


2-1153253039
FifteenTen
2006-07-19 00:03
2006.08.20
Как в проводнике


6-1144122492
V-A-V
2006-04-04 07:48
2006.08.20
Проверка соеденения через ADSL модем