Есть ли способ сказать, что выделение памяти указателя было освобождено?Я только начинаю в C, и мне кажется, что я наконец начинаю понимать тонкости управления памятью в C.
Так, например:
char* pointer;
pointer = malloc(1024);
/* do stuff */
free(pointer);
/* test memory allocation after this point */
Iзнать, что указатель будет сохранять адрес памяти до тех пор, пока я не установлю pointer = NULL
- но есть ли способ проверить, что указатель больше не ссылается на память, которую я могу использовать, без необходимости сначала устанавливать его в NULL?
Причина, по которой я хочу это сделать, заключается в том, что у меня есть куча модульных тестов для моей программы на Си, и один из них гарантирует, что после вызова специальной функции, которая выполняет очистку пары связанных списков, нет потерянных указателей.Глядя на отладчик, я вижу, что моя функция очистки работает, но мне нужен способ проверить указатели, чтобы можно было обернуть их в утверждение модульного теста.