Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
stranger140569
2 / 0 / 1
Регистрация: 25.01.2011
Сообщений: 27
#1

Что происходит за кулисами при выделении памяти для переменной? - C++

19.12.2011, 22:49. Просмотров 585. Ответов 1
Метки нет (Все метки)

Здравствуйте, уважаемые форумчане! У меня такой вопрос: "Что происходит, когда я объявляю переменную? Я думаю, что когда я объявляю переменную, то программа резервирует под нее место, и в эти ячейки можно записать только то, что получено из программы, в которой она объявлена. Я прав?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2011, 22:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что происходит за кулисами при выделении памяти для переменной? (C++):

Ошибка при выделении памяти динамически для структуры - C++
Есть программа. Вылетает ошибка. Если gets(BLOCKNOTE.NAME) заменить на cin>>BLOCKNOTE.NAME все работает нормально. Хотелось бы ипользовать...

Ошибка при выделении памяти - C++
Здравствуйте, друзья. Подскажите, пожалуйста, почему выскакивает ошибка при повторном выделении память (ведь память в куче удаляется...

Ошибка при выделении памяти - C++
Когда убираю free(buf), то ошибки нету, а когда есть, то вылазит ошибка. Почему такое происходит? #include <stdlib.h> #include...

Ошибка при выделении памяти - C++
Вопрос: из-за чего программа может рушится? int *NRRow = new int ; int *NRow = new int ; int *NCol = new int ; //тут...

Ошибка при динамическом выделении памяти - C++
почему у меня возникет ошибка вот тут struct TOVAR *New = new struct TOVAR; пишит недопустимый неполный тип на struct подчеркивает...

Ошибка при динамическом выделении памяти - C++
Я не понимаю почему, но почему-то пример по динамическому выделению памяти, взятый с этой веб-страницы: http://cppstudio.com/post/9555/...

1
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
19.12.2011, 23:18 #2
Место под глобальные переменные выделяется при компиляции. Под автоматические переменные (те, что объявлены внутри функций), сразу отводится большой кусок памяти (стек), от которого "отщипывают" нужное количество при заходе в функцию и освобождают занятое место при выходе из функции. В принципе, внешний процесс может изменять значение переменных независимо от основной программы. Если программа рассчитана на то, что какие-то переменные будут изменяться внешними средствами, следует пользоваться модификатором volatile.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2011, 23:18
Привет! Вот еще темы с ответами:

Куча была повреждена. При выделении памяти - C++
Всем привет. Вот в этой строчке(83) : XY->NextXY = new StructXY; Не понимаю что не так. После её работы выдаёт что куча повреждена. ...

Вылет при выделении памяти под вектор - C++
Пишу на С++. Создаю vector<float>. Преждевременно выделяю под него место с помощью resize. Нужно выделить 640381050 элементов. В итоге...

Создание исключения при динамическом выделении памяти - C++
Вот код из учебника в нем мне все понятно. #include<iostream> #include<cstdlib> //exit() #include<new> using std::cout;using...

Ошибка при выделении памяти с помощью malloc - C++
Помогите выдает ошибку в рядочке :"Ar = ( far *)malloc(size*sizeof(int));" полный текст програмы: #include "stdafx.h" using namespace...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru