gpt4 book ai didi

c - 如何在 C 中一次为双指针 char 的每个字符分配内存**

转载 作者:太空宇宙 更新时间:2023-11-04 05:38:37 25 4
gpt4 key购买 nike

我的问题是当我们使用char**时如何为一个单词的每个字符一次分配内存。我正在尝试这样做

 words = malloc(sizeof(char*) * numberOfWords);

当我准备好复制字符时:

int i = 0;
while(some condition){
(*words)[i] = malloc(1); //here I am getting error "Incompatible pointer to integer conversion assigning to char from void*"
arrayOfWords++;
i++;
}

所以我想做的是一次为每个字符分配空间,而不是为某个固定的最大字节数分配空间。单词的长度可能会有很大差异

提前致谢!

最佳答案

我看到的问题:

行:

*words = malloc(sizeof(char*) * numberOfWords);

应该是:

words = malloc(sizeof(char*) * numberOfWords);

行:

(*words)[i] = malloc(1);

应该是:

words[i] = malloc(1);

words[i] 的类型是char*(*words)[i] 的类型是char。编译器提示将指针(malloc 的返回值)分配给 char

关于c - 如何在 C 中一次为双指针 char 的每个字符分配内存**,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25753951/

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