-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