我对在网上找到的一段代码有几个问题,它位于http://www.c.happycodings.com/Data_Structures/code9.html。 .
- 为什么strarray定义为
**
? 我们是否必须先
malloc()
数组,然后malloc()
它的每个元素?strarray = (struct node **)realloc(strarray, (count + 1) * sizeof(struct node *));
strarray[count] = (struct node *)malloc(sizeof(struct node));
如何完全释放()这个数组?
谢谢
最佳答案
strarray
是指向指针数组的指针,每个指针指向一个节点结构。这是对象数组的基本表示。对于基本类型,您只能使用一个*
,因为它是一个指向基本类型数组的指针。您也可以对结构执行此操作,这取决于您要对数组执行的操作。是的,是的。
首先遍历数组,释放每个成员,然后释放数组。释放的线索:释放你分配的所有东西。
关于c - 动态结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12401463/