说我已经声明了一个指针,结构和使用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,不是吗? –