Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2010, 18:26   #1
vitaliy1911
Пользователь
 
Аватар для vitaliy1911
 
Регистрация: 19.05.2010
Сообщений: 35
По умолчанию какое значение переменной integer по умолчанию?

Какое значение присваивается переменным типа integer по умолчанию?
vitaliy1911 вне форума Ответить с цитированием
Старый 24.05.2010, 18:31   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

по хелпу 0.
но лучше инициировать руками.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.05.2010, 18:42   #3
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Какое осталось в памяти со времён убитого процесса
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 24.05.2010, 18:55   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

notHaker, Делфи инициирует память(как гласит хелп).
при New и тд в том числе...а вот системные выделения памяти(то есть апишные) могут показать какое угодно значение.
вообще, на самом деле, не инициированная переменная это плохо.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.05.2010, 06:16   #5
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

При инициализации программы однозначно 0.
Запись типа
Код:
 I:integer = 0;
- это просто как бы "контрольный в голову".
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 25.05.2010, 10:06   #6
vitaliy1911
Пользователь
 
Аватар для vitaliy1911
 
Регистрация: 19.05.2010
Сообщений: 35
По умолчанию

ну все равно не понятно зачем его приравнивать к нулю если однозначно ноль. типа могут быть ситуации где он не будет нулем?
vitaliy1911 вне форума Ответить с цитированием
Старый 25.05.2010, 10:38   #7
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
типа могут быть ситуации где он не будет нулем?
Могут. К примеру:
Код:
Procedure TForm1.Button1Click(Sender: TObject);
Var
I: Integer;
Begin
Edit1.Text:=IntToStr(I);
End;
В данном примере у меня переменная I имеет значение 4358324.
Код:
Procedure TForm1.Button1Click(Sender: TObject);
Var
I: Integer;
Begin
I:=0;
Edit1.Text:=IntToStr(I);
End;
А так она будет иметь значение 0. Есть ещё вариант, как писал Kotofff.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 25.05.2010, 10:46   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
типа могут быть ситуации где он не будет нулем?
Да, поэтому всегда инициализирую переменные перед их использованием (особенно в функциях, у меня стиль при котором много Exit, например при отслеживании корректности входящих параметров).
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 25.05.2010, 12:22   #9
vitaliy1911
Пользователь
 
Аватар для vitaliy1911
 
Регистрация: 19.05.2010
Сообщений: 35
По умолчанию

Цитата:
Сообщение от Terran Посмотреть сообщение
В данном примере у меня переменная I имеет значение 4358324.
откуда он такое значение берет интересно
vitaliy1911 вне форума Ответить с цитированием
Старый 25.05.2010, 12:46   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
откуда он такое значение берет интересно
почитайте понятие виртуальной/страничной памяти и поймёте.
не вся память инициализируется(из соображений скорости), часто можно нарваться на данные другой страницы.
не забывайте что Делфи иногда использует регистр как переменную(локальную). а в нем может остаться пред значение.
а если стек(как обычно) то в нем останется значение от предыдущей функции которая использовала это место стека(указатель стека вечно скачет).

вот в крадце
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как установить значение по умолчанию в dropdown notna Microsoft Office Word 2 13.04.2010 17:15
Значение поля по умолчанию alco84 Microsoft Office Access 2 16.02.2010 10:17
к переменной типа integer присвоить переменную string Kigmatig Помощь студентам 7 29.01.2010 21:55
Как вставить значение в список по умолчанию mogul82 HTML и CSS 3 28.12.2008 17:10
можно тип переменной word преобразовать в integer мандарин Общие вопросы Delphi 7 01.06.2007 20:04