从本质上说,这个代码能工作吗?在你说“运行并看看!”之前,我刚刚意识到我的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}'将初始化它而不进行循环。 –