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

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


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

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



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

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

В стеке.

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

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

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

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

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

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

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

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

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


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