gpt4 book ai didi

c - 如何在c中创建动态链表节点数组?

转载 作者:行者123 更新时间:2023-11-30 19:23:43 25 4
gpt4 key购买 nike

基本上,数组应该在用户输入时初始化。如果input = 3,则表示该数组可以在索引0,1,2分别存储一个链表(总共3个列表)

int input = 3;
list* array[n]//not allowed as n is not constant, also not in heap so can't pass it across functions
list* array[] = (list*) malloc(sizeof(list)*input)//compiler error

准备面试...这样你就可以说家庭作业了!

最佳答案

链表数组可以是头节点数组(假设标准链表实现)或指向列表的指针数组。无论哪种情况,您似乎面临的问题是如何动态分配数组。

在堆上动态分配数组的通用语法是

type * array = calloc(number_of_elements, sizeof(type))

纠正代码中的编译错误将是

int input = 3;
list ** array = calloc(input, sizeof(list*));

这是您要找的吗?

关于c - 如何在c中创建动态链表节点数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10204380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com