【发布时间】:2015-01-04 20:59:10
【问题描述】:
如果我有一个列表列表
typedef Struct b {
int b;
Struct b *next;
}B;
typedef Struct a {
int a;
Struct a *next;
B *link;
}A;
如果我按照这个方案开发数据结构..
我使用双指针作为 B 的头,以跟踪 A 节点之间的 B 的所有节点。 因此,如果我使用 realloc 为指针提供更多数据,我不会丢失头部内先前分配的数据,对吧?
for(i=0;i<n_of_B_lists;i++)
*head_b[i]=realloc(*head_b[i],sizeof(B *)*1); //1 is for 1 pointer to the new B list
【问题讨论】:
-
@WhozCraig 我很奇怪我使用了与您相同的词,而没有看到您的评论,当您发表评论时,它不在我的答案中,当我编写更好的用法示例时在
realloc中,我注意到OP 可能不知道(*head_b)[i]和*(head_b[i])之间的区别。 -
在使用链表的代码中看到
[]似乎很奇怪。 -
为什么?我还是个初学者;)
标签: c list realloc double-pointer