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

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

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

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

10.04.2013, 08:23. Просмотров 323. Ответов 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++
char* a = "Hell"; int* b =(int*) a; cout << *b; Как я понимаю в этом кусочке кода происходит преобразование одного типа...

Что-то непонятное с памятью - C++
Есть два класса, базовый: class Rand{ protected: double *masRand;//Указатель на массив сл.вел long...

Что значит такое использование указателей - C++
Разбираю прогу для клиент сервера и никак не могу понять что значит такое использование указателей 1) char buff; потом в...

Что происходит в цикле for? - C++
Здравствуйте, не могу разобраться с условием работы в цикле for. Кто сведущ, объясните, пожалуйста, что это за условие такое? for...

что происходит в классе - C++
class Student // класс данных Студент { private: char FIO; // поле Имя int ID; // Поле Номер int Propusk; // Поле, хранящее...

А что происходит в памяти? - C++
Привет Вот код: (написан с применение фреймворка Qt, но это не влияет на суть вопроса) //main_window.h #include "Mill.h" ...

Объяснить, что происходит в коде - C++
#include <iostream> #include <Windows.h> using namespace std; enum ConsoleColor { Black = 0, ...

Объяснить, что происходит в коде - C++
что выполняется в строчке (p->d=x;) Node *first(laba x) Node *p; p=new Node; p->d=x; p->next=NULL; return(p); }

Что происходит при вызове? - C++
class A { ... }; void f(A &a) { ... } A a; ...

Что происходит в этой строке? - C++
fstream IN(ordersName); int kit,nKit ; for (int i = 1;IN >> kit >> nKit; ++i) { Вот это меня интересует что такое IN >> kit >>...

Что происходит в строке кода - C++
Всем привет. В буфере хранится путь, я нахожу последнюю точку и зануляю (конец строки). buffer = 0; Как из указателя на точку...

Что такое "position-independent code" (-fPIC in gcc) ? - C++
What is meant my position-independent code (-fPIC in gcc)? When would you use it? How are EXE and DLL's compiled with this regard in...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
339 / 370 / 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;
& -взятие адреса
* - взятия значения
Ответ Создать тему
Опции темы

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