IT Academy
Урок 4 · Средний

Динамическая память и sanitizers

Объяснение → самостоятельное решение → разбор → практика курса

Объяснение

malloc может вернуть NULL; realloc при неудаче оставляет старый блок действительным. Sanitizers обнаруживают многие ошибки памяти в выполненных путях, но не доказывают отсутствие всех дефектов.

Задача для самостоятельного решения

Почему p=realloc(p,n) может потерять память при неудаче?

Показать разбор ответа

NULL перезапишет единственную ссылку на старый блок. Сначала сохраните результат во временный указатель и заменяйте p только после проверки успеха.

Примените знания

В лабораторной курса есть учебная среда, пример, ожидаемый результат и задание проекта. Возвращайтесь к ней по мере прохождения тем.

Открыть лабораторную →