簡體   English   中英

指向字符串數組的指針數組

[英]array of pointer pointing to arrays of strings

我創建了一個代碼,該代碼根據行將句子從文件轉移到數組中。 例如:

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);

         }

我得到的輸出是這樣的:

你好ola hiya howdy eitan eitanon eitanya

但是如果我打電話

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

在for之外,我得到了

 eitan
eitanon
eitanya

而不是第一個單詞(這意味着Temp不分配內存)? 我會很高興獲得幫助。

對於一個句子,您只需要一個char指針或一個char指針數組來存儲多個句子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM