-4
我是C新手,不明白为什么第一个函数可以工作,但不是第二个函数。为什么不能使用这个功能?
1:
int main(int argc, char** argv) {
char charTest[80] = "this is a test";
char *test = &charTest;
strcpy(test, "one");
printf("%s", test);
return (EXIT_SUCCESS);
}
第二:
int main(int argc, char** argv) {
char *test;
test = malloc(80);
strcpy(test, "one");
printf("%s", test);
return (EXIT_SUCCESS);
}
有人能告诉我为什么? 谢谢;):)。
它以什么方式*不工作*? – trojanfoe 2012-03-17 23:02:02
第一个功能也有一些有趣的业务 - 你确定它有效吗?它当然不应该没有警告地编译。 – 2012-03-17 23:03:41
......你有没有落后? C的所有迹象都告诉我第二个几乎可以工作,但不是第一个,但你表明了相反的意思。我可以在C中提供关于指针的详细答案,但如果它不是你想要的,我宁愿不要。 – FrankieTheKneeMan 2012-03-17 23:04:19