[英]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.