假设我已经声明了一个指向结构体的指针,并使用以下定义和malloc()函数为其分配内存:
typedef struct node {
int info;
struct node *next;
} NODE;
然后在代码的某个地方,我声明了两个指向它的指针。
NODE *node1, *node2 = NULL;
node1 = malloc(sizeof(NODE));
node2 = node1;
我的问题是,我是否应该像人们经常使用free(node1)释放node1一样使用free()来释放node2。赋值node2 = node1;的效果究竟是什么。
谢谢。
free
只知道地址,它不知道你有哪些变量,也不关心哪个指向哪个内存地址。 - phuclv