Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Anion
0 / 0 / 1
Регистрация: 10.01.2013
Сообщений: 16
#1

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

10.04.2013, 08:23. Просмотров 360. Ответов 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)
Тут надо ещё что-то придумать...

http://www.cyberforum.ru/cpp-beginners/thread1622080.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 08:23
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Что происходит с освободившейся от указателей памятью? [gcc-4.7.2] (C++):

Что-то непонятное с памятью
Есть два класса, базовый: class Rand{ protected: double...

В этой части кода происходит объявление функций? Что такое void? Что в скобках?
В этой части кода происходит объявление функций? Что такое void? Что в скобках?...

Можно ли использовать прямое манипулирование памятью при помощи указателей
Можно ли в языке С# использовать прямое манипулирование памятью при помощи...

При компиляции с помощью gcc или llvm, происходит ошибка и они требуют амперсанд
Всем привет! Столкнулся с таким кодом: int a,i; ... scanf("%d",a);...

GCC Сборка 32 разрядной версии GCC 64 разрядным GCC
Доброго времени суток. Возникла необходимость под 32х разрядный Linux, собрать...

2
ya_noob
_
314 / 148 / 27
Регистрация: 08.10.2011
Сообщений: 432
10.04.2013, 08:48 #2
1) память выделяется под variable в блоке на стеке, после выхода из блока память освобождается
2) до входа в блок в стеке сидит указатель, в блоке к нему заходит variable. после выхода из блока variable уходит из стека, а указатель ссылается на мусор. адрес переменной берется не так: *variable, а так: &variable
3) variable и указатель вместе заходят в стек в блоке и вместе выходят при выходе из него.
4) void
1
egor2116
571 / 375 / 215
Регистрация: 20.01.2013
Сообщений: 1,135
10.04.2013, 09:37 #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;
& -взятие адреса
* - взятия значения
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2013, 09:37
Привет! Вот еще темы с решениями:

В какой части матрицы происходит накопление суммы. обьясните, что и как происходит, пожалуйста
Uses crt; Var a: Array of Real; i,j,n,k: Integer; s: Real; BEGIN...

Что то с памятью...
#include<iostream.h> #include<stdio.h> #include<stdlib.h> #include<math.h>...

Что-то случилось (подлагивает игра, с температурой процессора происходит что-то странное)
Всем привет. Сегодня утром включил компьютер, зашёл в игру (hoi4) и заметил что...

Что-то с виртуальной памятью
Кто подскажет от чего такое может быть: BCCode : 10000050 BCP1 : A1644D29...


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

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

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