2014-09-27 30 views
0

我有一个结构包含指向另一个结构节点的指针。该指针是指向结构链接列表的前端指针。因此,我正在构建链接列表,并且每次插入节点时,都会创建单独的结构并链接到其他LL节点。我是否需要使用struct为C语言中链接列表中的每个节点分配内存?

问题:我需要在LL每个节点分配内存?使用malloc如 *pointer_to_struct = (structAlias *)malloc(sizeof(structAlias)); ,然后给其成员初始化含义。

或者我简单地创建结构和无记忆分配每个结构给它的成员(成员是无效*和* structAlias下一个)给值?

+0

除非,你想保存在一个文件作为对象的链接列表,你并不需要为结构分配内存。 – Keshab 2014-09-27 19:36:41

+0

如果你不想保存链接列表中的任何信息,那么你为什么要创建它? – user1336087 2014-09-27 19:37:56

回答

3

在一般情况下,是的,您必须为列表中的每个节点分配内存,并且您可能要使用malloccalloc。如果你只声明一个局部变量struct,那么当该函数返回时该局部变量将失效,但你可能希望节点超过该函数调用。

相关问题