從本質上說,這個代碼能工作嗎?在你說「運行並看看!」之前,我剛剛意識到我的cygwin沒有帶有gcc,現在距離重新安裝完成40分鐘。話雖這麼說:char []和char *兼容性?
char* words[1000];
for(int i = 0; i<1000; i++)
words[i] = NULL;
char buffer[ 1024 ];
//omit code that places "ADD splash\0" into the buffer
if(strncmp (buffer, "ADD ", 4) == 0){
char* temp = buffer + 4;
printf("Adding: %s", temp);
int i = 0;
while(words[i] != NULL) i++;
words[i] = temp;
}
我主要是不確定的線char* temp = buffer + 4
,以及是否我可以分配字[我]在我的方式。當我最終嘗試在40分鐘內完成編譯時,我是否會遇到類型錯誤?
此外,如果這樣做,爲什麼我不需要在單詞[]的每個元素上使用malloc()?爲什麼我可以說words[i] = temp
,而不是需要爲單詞[i]分配內存的時間長度?
'char * words [1000] = {0}'將初始化它而不進行循環。 –