說我已經聲明瞭一個指針,結構和使用malloc在代碼中使用這個定義C語言:指針釋放內存結構
typedef struct node {
int info;
struct node *next;
} NODE;
然後某處分配給它()我聲明瞭兩個指針,它
NODE *node1, *node2 = NULL;
node1 = malloc(sizeof(NODE));
node2 = node1;
我的問題,我應該使用「自由()」來釋放節點2就像人總是這樣通過免費(節點)到節點1。賦值的效果究竟是什麼node2 = node1;
謝謝。
節點1 _is_節點2。只是釋放其中一個不是兩個或它會崩潰。 –
'免費'只是知道地址。它不知道你有什麼變量,也不關心指向哪個內存地址 –
@ Jean-FrançoisFabre。所以你說的是我也可以通過free(node2)釋放node1,不是嗎? –