Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Массив / 9 сообщений из 9, страница 1 из 1
01.10.2004, 09:48
    #32719497
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив
Забыл, а книжки под рукой нету... Если я написал функцию:
Код: plaintext
1.
2.
3.
void TheBestFunctionInTheWorld()
{
   char buf[ 255 ];
}

Массив создаётся в стеке или где? Если там где глобальные переменные, то инициализироваться нулями будет при запуске программы или при каждом запуске функции?
...
Рейтинг: 0 / 0
01.10.2004, 09:52
    #32719504
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив
да в стеке ...


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
01.10.2004, 09:53
    #32719506
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив
[quote]
Если там где глобальные переменные, то инициализироваться нулями будет при запуске программы или при каждом запуске функции?[/quote]

Инициализировать сам должен



 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
01.10.2004, 10:56
    #32719650
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив
Алексей К
Код: plaintext
1.
2.
3.
void TheBestFunctionInTheWorld()
{
   char buf[ 255 ];
}

Массив создаётся в стеке или где?

В стеке.

Алексей К
Если там где глобальные переменные, то инициализироваться нулями будет при запуске программы

Где там глобальная переменная ? Нету там глобальной переменной.
И инициализации никакой нету, если явную не пропишешь.
Это - один из распространенных мифов.

Алексей К
или при каждом запуске функции?

Нет, если ты добавишь туда static в объявление, инициализация, если она будет прописана, будет выполнена только один раз при первом входе в тело функции.
...
Рейтинг: 0 / 0
01.10.2004, 12:46
    #32719888
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив
Понял, спасибо.

Просто где-то давно видел (или слышал на лекции в институте, точно не помню) что все массивы живут там же где глобальные переменные и инициализируются нулями (если явно не указаны значения элементов массива). Наверное показалось...
...
Рейтинг: 0 / 0
01.10.2004, 17:16
    #32720552
istalker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив
Алексей КПонял, спасибо.

Просто где-то давно видел (или слышал на лекции в институте, точно не помню) что все массивы живут там же где глобальные переменные и инициализируются нулями (если явно не указаны значения элементов массива). Наверное показалось...

Правильно видел (или слышал:)), что глобальные массивы инициализируются нулями. Но только глобальные. Те что в стеке или куче, не инициализируются.
...
Рейтинг: 0 / 0
02.10.2004, 22:17
    #32721203
Алексей Буйницкий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив
руками все надо делать. глобальные тоже ничем не инициируются.
и тех, кто так думает, и в расчете на это программит, надо убивать.
потому что потом кто-нибудь скомпилит в релизе, а там раздвинется в левую область памяти и будешь разбираться, почему в дебаге все пашет, а в релизе на 35-ом запуске вылетает :(
...
Рейтинг: 0 / 0
04.10.2004, 07:27
    #32721493
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив
Да я никогда на автоинициализацию нулями не полагаюсь... тоже как вы и советуете всегда всё сам, если надо конечно... спасибо за советы...
...
Рейтинг: 0 / 0
04.10.2004, 19:06
    #32722891
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив
2 Алексей Буйницкий

авторруками все надо делать. глобальные тоже ничем не инициируются.
и тех, кто так думает, и в расчете на это программит, надо убивать.

Вообще говоря, инициализацию не локальных объектов "нулем" (так называемая zero-initialize (см. 8.5 п. 5)) гарантирует стандарт (см. 3.6.2). Если Вам этого не достаточно, то Вас надо изолировать от общества, прежде чем Вы порешите добрую половину человечества, использующую этот тип инициализации:)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Массив / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]