Предположим, у меня есть структура, определенная таким образом:
struct myStruct{
data* anotherStruct;
}
Предположим, я выделяю память в куче для структуры типа myStruct
. Указатель на эту структуру называется ptr
. Затем я звоню free(ptr)
. Освобождает ли это память, выделенную только для myStruct, или память, выделенную для myStruct
и anotherStruct
?
Если он освобождает только память, выделенную для myStruct
, приведет ли это к утечке памяти, потому что нет указателя на anotherStruct
и его никогда нельзя освободить?