c - 动态内存分配 C

标签 c arrays linked-list

我的问题需要将固定数组大小转换为动态内存分配。我已经尝试了各种 calloc、malloc 和 reloc 语句,但似乎没有任何效果。我想即使是 void *data 指针也没有用。

请将此代码转换为动态内存,以便稍后调整数组大小。另外要补充的是,我正在使用链表,所以这个数组是一个节点指针。

Node *lists[100]  //this does my job 
lists[listNo] = NULL; 

如果我想使用 malloc:

Node *lists = (Node) malloc(100*sizeof(Node));
lists[listNo] = NULL; // gives me error when I use malloc or calloc and the error is assigning Node from void*

最佳答案

问题是在使用 malloc 时,列表应该定义为指向指针数组的指针。

 Node **lists = malloc(100*sizeof(Node*));
 lists[listNo] = NULL;

关于c - 动态内存分配 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28745310/

相关文章:

c - 64 位上的 int 与 size_t

php - 如何验证 laravel 中插入的图像数组并需要根据验证插入枚举值?

java - 无法在链表前面插入节点

c++ - 数组中元素的自定义排序

c - 指向 int 类型数组的指针的大小是多少?

c - 编辑 gtkcellrenderertext

python - 如何判断是否可以获得严格递增序列?

arrays - 如何将变量的值(字符串)设置为等于数组中的键?

java - Java中为什么队列使用LinkedList构造函数

java - 递归和不同的列表