Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Anion
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 16
#1

Что происходит с освободившейся от указателей памятью? [gcc-4.7.2] - C++

10.04.2013, 08:23. Просмотров 314. Ответов 2
Метки нет (Все метки)

Что происходит в следующих случаях с памятью выделенную под переменные?
1) Объявление в операторных скобках:
C++
1
2
3
{
  int variable;
}
2) Присвоение адреса указателю:
C++
1
2
3
4
5
int *i_var;
{
  int variable = 5;
  i_var = *variable; //если это делается не так, то поправьте, спасибо...
}
3) Или так:
C++
1
2
3
4
5
{
  int variable = 5;
  int *i_var;
  i_var = *variable;
}
4)
Тут надо ещё что-то придумать...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 08:23     Что происходит с освободившейся от указателей памятью? [gcc-4.7.2]
Посмотрите здесь:

А что происходит в памяти? C++
C++ Что-то непонятное с памятью
Что происходит в этой строке? C++
C++ Что значит такое использование указателей
C++ Что происходит при вызове?
C++ Что такое "position-independent code" (-fPIC in gcc) ?
C++ Объяснить, что происходит в коде (приведение одного типа указателей к другому?)
Объяснить, что происходит в коде C++
C++ Объяснить, что происходит в коде
C++ Что возвращать из vector-a указателей, если объект не найден?
C++ Что происходит в цикле for?
Что происходит в строке кода C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ya_noob
_
201 / 145 / 9
Регистрация: 08.10.2011
Сообщений: 432
10.04.2013, 08:48     Что происходит с освободившейся от указателей памятью? [gcc-4.7.2] #2
1) память выделяется под variable в блоке на стеке, после выхода из блока память освобождается
2) до входа в блок в стеке сидит указатель, в блоке к нему заходит variable. после выхода из блока variable уходит из стека, а указатель ссылается на мусор. адрес переменной берется не так: *variable, а так: &variable
3) variable и указатель вместе заходят в стек в блоке и вместе выходят при выходе из него.
4) void
egor2116
338 / 369 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
10.04.2013, 09:37     Что происходит с освободившейся от указателей памятью? [gcc-4.7.2] #3
//если это делается не так, то поправьте, спасибо...
C++
1
2
3
4
5
int *i_var;
{
  int variable = 5;
  i_var = * variable; 
}

C++
1
 i_var = &variable;
//если это делается не так, то поправьте, спасибо...
C++
1
2
3
int variable = 5;
  int *i_var;
  i_var = *variable;
C++
1
i_var = &variable;
& -взятие адреса
* - взятия значения
Yandex
Объявления
10.04.2013, 09:37     Что происходит с освободившейся от указателей памятью? [gcc-4.7.2]
Ответ Создать тему
Опции темы

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