Что происходит с указателем после выполнения функции с malloc?

Вот у меня есть пример вот такой файл:

#include <stdlib.h>

void fkfkfkfkfk() {
 void* a = malloc(sizeof(char));
}

int main() {
 fkfkfkfkfk();
 return 0;
}

Этот файл полноценно работает, я хотел бы спросить что происходит после выполнения функции с указателем (с занятым памятью), она остаётся навсегда занятой, или автоматически после выполнения функции указатель стирается


Ответы (1 шт):

Автор решения: Harry

После выполнения функции память остается выделенной; после завершения программы - освобождается.

Так как после выхода из функции указатель на выделенную память потерян, в данном конкретном случае вы получаете утечку памяти.

→ Ссылка