gpt4 book ai didi

c - 在C中为指向指向指针的指针分配内存

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

我正在尝试为三重指针分配内存,但无法正确分配。我有指向 char 的指针

char **words;
allocate(&words);

我创建了内存分配方法:

void allocate(char ***words){

for (int i = 0; i < MAXWORDNUM; ++i)
(*words)[i] = malloc(sizeof(char*) * MAXWORDNUM);

for (int i = 0; i < MAXWORD; ++i)
(**words)[i] = malloc(sizeof(char) * MAXWORD);
}

据我所知,我应该为指针分配内存,然后为每个字符分配内存。对于上面的代码,我收到错误:

warning: incompatible pointer to integer conversion assigning
to 'char' from 'void *' [-Wint-conversion]
(**words)[i] = malloc(sizeof(char) * MAXWORD);

如何让它发挥作用?谢谢

最佳答案

void allocate(char ***words){
*words = malloc(sizeof(char*) * MAXWORDNUM);
for (int i = 0; i < MAXWORDNUM; ++i)
(*words)[i] = malloc(MAXWORD);
}

关于c - 在C中为指向指向指针的指针分配内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24860977/

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