1. Попытка работы с неинициализированным указателем, то есть с указателем, не содержащим адреса ОП, выделенной переменной.
2. Потеря указателей: переменная типа указатель получает ОП, затем она получает новое значение адреса без предварительного освобождения ОП, на которую указывает указатель. При этом теряется значение указателя и адресованная им ОП не может быть освобождена.
3. Неосвобождение ОП, выделенной переменной, после того, как она стала ненужной. Неосвобождённая ОП считается занятой, что может привести к переполнению кучи и сообщению об ошибке:
203 Heap overflow error – ошибка переполнения кучи.
При объявлении указателя на значение любого типа ОП для самого значения не резервируется. Выделяется ОП только для переменной-указателя, но она при этом не имеет значения.
При этом случайное (неинициализированное) значение указателя (мусор) может быть недопустимым значением адресов. Например, оно может совпасть с адресами размещения программы или данных пользователя или данных самой DOS. Запись значения по такому адресу может нарушить работоспособность самой программы или самой DOS. Компилятор не обнаруживает эту ошибку. Это должен делать программист.
Стандартные процедуры и функции для работы с динамической памятью