Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад

Что такое висячий указатель (dangling pointer) в C?

Этот вопрос проверяет понимание висячих указателей и их последствий.

Короткий ответ

Висячий указатель — это указатель, который указывает на освобождённую или несуществующую память. Использование такого указателя может привести к неопределённому поведению.

Длинный ответ

Создание висячего указателя:

int *ptr = (int*) malloc(sizeof(int));
free(ptr);  // Освобождение памяти
printf("%d", *ptr);  // Ошибка! ptr указывает на освобождённую память

 

Как избежать висячих указателей?

- Обнулять указатели после free():

ptr = NULL;

- Использовать smart pointers в C++ вместо malloc.
 

Вывод: Висячие указатели приводят к ошибкам памяти и утечкам данных.

Уровень

  • Рейтинг:

    1

  • Сложность:

    7

Навыки

  • C

Ключевые слова

#dangling pointer

#memory leak

#free

Подпишись на C/C++ Developer в телеграм