【发布时间】:2011-11-07 10:51:53
【问题描述】:
你好,我有一个类似下面的代码
char *str ;
strcpy(str, "\t<");
strcat(str, time);
strcat(str, ">[");
strcat(str, user);
strcat(str, "]");
strcat(str, "(");
strcat(str, baseName);
strcat(str, ") $ ");
printf("\String is now: %s\n", str);
这段代码似乎可以工作,但是当我使用 XCode 分析函数时,它说“函数调用参数是一个未初始化的值”,而且它有时会导致我的程序崩溃..当我删除它时,它工作正常......出了什么问题接着就,随即?谢谢
【问题讨论】:
-
你为str分配内存了吗?
-
@kanoz:这很重要,因为除了合法分配的内存之外,您不能写入任何内容。
-
为了将来参考,str 通常被称为 dangling 或 wild 指针:en.wikipedia.org/wiki/Dangling_pointer