我的问题需要将固定数组大小转换为动态内存分配。我已经尝试了各种 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/