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

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

Войти
Регистрация
Восстановить пароль
 
Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
#1

Указатель на уничтоженный массив - C++

12.03.2012, 13:44. Просмотров 280. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int *point;
 
void func()
{
  int mass[16];
  for(int i=0; i<16; ++i) mass = 16-i;
  point = mass;
}
 
int main()
{
  func();
  return 0;
}
Собственно вопрос: запускается функция func, создается массив, заполняется, указатель указывает на массив, но по завершению функции массив удаляется. На что указывает указатель?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2012, 13:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатель на уничтоженный массив (C++):

Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. - C++
Пишу в Microsoft Visual Studio -&gt;Win32 Console application -&gt;C++. Условие:Реализовать 3 функции, каждая из которых принимает указатель на...

Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив) - C++
Изучаю c++ по одной книжке.Она говорить не умеет.. Так вот понадобилось написать функцию,которая как параметр получает указатель на...

Динамический массив и указатель на указатель - C++
Спасибо за внимание) Задача такова: нужно удалить элемент по индексу, при этом уменьшить сам массив на 1 (т.е. удалили элемент - уменьшился...

Как получить ссылку на указатель или указатель на указатель в массиве? - C++
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения указателей, передаваемых в функцию. Если...

Написать функцию принимающую массив и возвращающую указатель на динамический массив - C++
Написать функцию принимающую массив и возвращающую указатель на динамический массив содержащий первые n нaибольших чисел. Как сделать...

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

5
Duha666
51 / 51 / 5
Регистрация: 10.03.2012
Сообщений: 138
12.03.2012, 14:00 #2
На адрес памяти, в котором ранее лежал массив.
0
Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
12.03.2012, 14:05  [ТС] #3
Но значения массива через указатель уже вернуть невозможно, так?
0
Duha666
51 / 51 / 5
Регистрация: 10.03.2012
Сообщений: 138
12.03.2012, 14:07 #4
Как получится. Если тот участок памяти был перезаписан, то нет. Иначе - да.
0
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
12.03.2012, 21:57 #5
Для определённости всё же стоит считать, что нет - никак. Логически массив больше не существует, а языки высокого уровня и были созданы для того, чтобы абстрагироваться от железяки, в которой физически значения после удаления всё ещё лежат в памяти.
0
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
12.03.2012, 22:08 #6
лучше забыть как о страшном сне, что по указателю после удаления объекта еще может что-то быть) каждый раз, когда ты обращаешься к освобожденной памяти - бог убивает котенка.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2012, 22:08
Привет! Вот еще темы с ответами:

Указатель на массив - C++
Скажите, почему этот код нельзя скомпилировать? double a; double *pa = &amp;a; // !!!!! double *pa_2...

указатель и массив - C++
подскажите плс эти две строки эквивалентны? char* str=&quot;bla bla bla&quot;; char str={&quot;bla bla bla&quot;}; Почему при выводе адреса 1...

Указатель на массив - C++
объясните пожалуйста что я тут делаю: char b; char* Buffer = &amp;b; Buffer = &quot;123&quot;; и почему у меня после этого в char b...

Указатель на массив - C++
Есть такая структура struct Elem { char cos; Elem * next; Elem * prev; }; Elem * Head=NULL,*Tail=NULL;


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
12.03.2012, 22:08
Ответ Создать тему
Опции темы

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