我创建了一个代码,根据行将文本中的句子转换为数组。 例如:指向字符串数组的指针数组
char ** Sentences[2]
Sentences[0]="hello ola hiya howdy"
Sentences[1]="chips fries"
我需要每一行单独进去的话(我已经有一个准备功能,其这样做,并存储输出到一个char **
阵列 我想用来存储字的所有阵列(在这种情况下 - 每个句子2,1),通过创建一个指向这些数组的指针数组。 我将非常高兴知道它是如何完成的。我还需要使用malloc创建一个临时数组并存储单词它,以便每次动态地创建阵列。
可以,我可以使用字符* a抛弃并存储在其中创建的数组?
我会更高兴的解决方案。
编辑: 我创建了一个内存分配阵列,但它不断改写自己:
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);
}
输出我得到的是这样的:
你好 OLA 你好 你好 埃坦 eitanon eitanya
但如果我打电话
printer(*(pointer[0]),3);
外为,我得到
eitan
eitanon
eitanya
而不是第一字(这意味着该温度不分配存储器)? 我会很乐意提供帮助。
究竟是什么不清楚这样做? – StoryTeller
我挣扎着2个主要的事情:第一个是创建数组:我有一个函数返回每行中的单词数(例如 - 4在句子[0] .i不知道如何创建一个临时数组和malloc它的大小为4个单元格为例,并在下一次运行 - 2个单元格(对于单词数量的句子[1])。我也不知道如何创建一个指向char **数组的指针数组。 – user3005945
@ user3005945启用编译器错误并尝试编译您在问题中发布的代码 – this