gpt4 book ai didi

c - 指向字符串数组的指针数组

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

我创建了一个代码,可以根据行将句子从文件传输到数组中。例如:

char ** Sentences[2]
Sentences[0]="hello ola hiya howdy"
Sentences[1]="chips fries"

我需要将每一行分成它的单词(我已经有一个现成的函数可以做到这一点,并将输出存储到 char ** 数组中。我想通过创建指向这些数组的指针数组来存储所有单词数组(在本例中 - 每个句子 2,1)。我会非常高兴知道它是如何完成的。我还需要使用 malloc 创建一个临时数组并在其中存储单词,以便每次动态创建数组。

相反,我可以使用 char * 数组并存储在其中创建的数组吗?

我将非常高兴找到解决方案。

编辑:我创建了一个内存分配数组,但它不断覆盖自身:

char ** Temp=NULL;
char **pointer[ir];

for (Note = 0; Note < ir; ++Note) {
Temp=malloc(Count(' ',Sentences[Note])*sizeof(char *));
int ifd=StoreArr(Sentences[Note],Temp," ");
pointer[Note]=&Temp;
printer(*(pointer[Note]),ifd);

}

我得到的输出是这样的:

你好奥拉希亚你好埃坦埃塔农埃塔尼亚

但是如果我打电话

printer(*(pointer[0]),3);

在 for 之外,我得到

 eitan
eitanon
eitanya

而不是第一个单词(这意味着 Temp 不分配内存)?我将非常高兴获得帮助。

最佳答案

对于一个句子,你只需要一个char指针或者一个char指针数组来存储多个句子。

关于c - 指向字符串数组的指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20179177/

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