Say I объявил указатель на структуру и назначить его таНос(), используя это определениеC: Высвобождение памяти указателей на структуру
typedef struct node {
int info;
struct node *next;
} NODE;
Тогда где-то в коде я объявил два указатель на него
NODE *node1, *node2 = NULL;
node1 = malloc(sizeof(NODE));
node2 = node1;
Мой вопрос, я должен использовать "свободный()", чтобы освободить node2 так же, как люди всегда делают, чтобы nODE1 через бесплатно (node1). Что такое эффект присваивания node2 = node1;
Спасибо.
node1 _is_ node2. Просто освободите одного из них не обоих, либо он рухнет. –
'free' просто знает об адресе.Он не знает, какие переменные у вас есть, и не волнует, какие точки относятся к адресу памяти –
@ Jean-FrançoisFabre. Итак, что я говорю, я также могу освободить node1 через бесплатный (node2), нет? –