我想從1D字符數組中構建一個2D數組,其中每次遇到換行符時,該字(包括換行符)被複制到二維數組元素中。這裏是代碼,這正是我需要的,但我對此有幾點疑問。有人可以向他解釋這段代碼的工作原理嗎?
讓我提醒你,這只是我的程序 中代碼的一部分,所以numChars只是chars數組中的字符數。 numWords只是我擁有的單詞數量。 和單詞被聲明爲char **單詞。
int k=0;
int i=0;
char** words = (char**) malloc(sizeof(char*) * numWords);
words[k] = chars;
while(i < numChars)
{
if(chars[i] == '\n')
{
k++;
words[k] = (chars+i+1);
}
i++;
}
問題1:第一個words[k] = chars
做什麼? 問題2:有人可以向我解釋這條線是如何工作的words[k] = (chars+i+1);
非常感謝你,並且對於菜鳥問題感到抱歉。
請發表[MCVE](http://stackoverflow.com/help/mcve)。幾乎不可能提出任何有用的代碼段。 – 2015-02-17 21:40:00
我們不知道第一個答案,因爲我們看不到字符是什麼 – pm100 2015-02-17 21:40:11
當您逐步完成代碼時,調試器顯示了什麼? – 2015-02-17 21:40:22