【发布时间】:2012-11-07 00:17:40
【问题描述】:
我在复制指针的内容时遇到了一些问题。我只是在尝试这个:
char* vigia1;
char* vigia2;
还有..
char* aux = (char*) malloc (strlen (vigia1)+1);
aux=vigia1;
vigia1=vigia2;
vigia2=aux;
free (aux);
vigia1, vigia2 是指向 char 指针的指针。它们都有一个大于最大可能大小的 malloc,没关系。
由于我正在尝试对列表进行排序,因此我需要进行此更改以对节点的内容进行排序。但我很困惑:在 free(aux) 之后,vigia2 没有任何价值。我想我一定是在指出 vigia2 到 aux 所在的内存区域,在 free 之后“消失”的区域。所以我该怎么做? 谢谢!
【问题讨论】: