Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2020, 17:23   #1
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию Вылетает программа при обращению к указателю.

Код большой. Подскажите, когда так бывает?
Мaкс вне форума Ответить с цитированием
Старый 04.03.2020, 17:54   #2
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Когда указатель указывает куда-то нетуда. Вернее при обращении к невыделенной памяти.
К примеру вы удалили объект, но пробуете обратиться к его полям. Так же часто при выходе за приделы массива. Вы пишите в массив и когда индекс оказывается за пределами вы попадаете на границу аллоцированной области. И адвокаллокатор использует указатели для хождения по кучи и вот из-за того что вы испортили служебные данные эти указатели ссылаются на адресса, которые не распределены под данные. Т.е они ничейные и под них не выделены страницы памяти происходит исключение указателя.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 04.03.2020, 17:58   #3
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
Когда указатель указывает куда-то нетуда. Вернее при обращении к невыделенной памяти.
К примеру вы удалили объект, но пробуете обратиться к его полям. Так же часто при выходе за приделы массива. Вы пишите в массив и когда индекс оказывается за пределами вы попадаете на границу аллоцированной области. И адвокаллокатор использует указатели для хождения по кучи и вот из-за того что вы испортили служебные данные эти указатели ссылаются на адресса, которые не распределены под данные. Т.е они ничейные и под них не выделены страницы памяти происходит исключение указателя.
Блин, похоже у меня указатель указывает на ничего. Спасибо, что откликнулись!
Мaкс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа вылетает. Foksen Общие вопросы C/C++ 2 17.11.2019 18:19
программа вылетает МихаPascalABC.Net Помощь студентам 3 22.08.2017 13:36
Вылетает программа Marijuana008 Помощь студентам 3 15.03.2017 17:00
Программа вылетает alik98 Паскаль, Turbo Pascal, PascalABC.NET 7 19.09.2012 22:10