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

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

Восстановить пароль Регистрация
 
Anion
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 16
10.04.2013, 08:23     Что происходит с освободившейся от указателей памятью? [gcc-4.7.2] #1
Что происходит в следующих случаях с памятью выделенную под переменные?
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++ Что происходит при вызове?
В этой части кода происходит объявление функций? Что такое void? Что в скобках? C++
C++ Что происходит в этом фрагменте кода?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ya_noob
_
200 / 144 / 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
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
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]
Ответ Создать тему
Опции темы

Текущее время: 14:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru