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

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

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

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

10.04.2013, 08:23. Просмотров 340. Ответов 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)
Тут надо ещё что-то придумать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 08:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что происходит с освободившейся от указателей памятью? [gcc-4.7.2] (C++):

Объяснить, что происходит в коде (приведение одного типа указателей к другому?) - C++
char* a = "Hell"; int* b =(int*) a; cout << *b; Как я понимаю в этом кусочке кода происходит преобразование одного типа...

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

В этой части кода происходит объявление функций? Что такое void? Что в скобках? - C++
В этой части кода происходит объявление функций? Что такое void? Что в скобках? void get(float **mas, int N, int M); void...

Можно ли использовать прямое манипулирование памятью при помощи указателей - C#
Можно ли в языке С# использовать прямое манипулирование памятью при помощи указателей? A) Да, если соответствующий код заключить в...

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

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

2
ya_noob
_
201 / 145 / 9
Регистрация: 08.10.2011
Сообщений: 432
10.04.2013, 08:48 #2
1) память выделяется под variable в блоке на стеке, после выхода из блока память освобождается
2) до входа в блок в стеке сидит указатель, в блоке к нему заходит variable. после выхода из блока variable уходит из стека, а указатель ссылается на мусор. адрес переменной берется не так: *variable, а так: &variable
3) variable и указатель вместе заходят в стек в блоке и вместе выходят при выходе из него.
4) void
1
egor2116
340 / 371 / 42
Регистрация: 20.01.2013
Сообщений: 1,129
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
Привет! Вот еще темы с ответами:

Что то с памятью... - C (СИ)
#include<iostream.h> #include<stdio.h> #include<stdlib.h> #include<math.h> #include<conio.h> #define sqr(x) ((x)*(x)) ...

Что с динамической памятью? - C (СИ)
Прерывается работа программы, еще не научилась нормально выделять ДП. Есть структура и для ее элементов нужно выделить ДП. Выводит...

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

Установщик dpkg сообщает, что пакет gcc-4.3 не настроен - Debian Linux
Здравствуйте! Продолжая эту тему http://www.cyberforum.ru/debian-gnu-linux/thread818522.html (вопрос существенно отличается, поэтому...


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

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

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