-4
私はC言語を新しくしています。最初の関数はなぜ機能しますが、2番目の関数は動作しません。なぜこの機能は動作しませんか?
第一:
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
その最初の機能にも面白いビジネスがある - それは動作するのですか?それは確かに警告なしでコンパイルすべきではありません。 –
...あなたはそれらを後方に持ってきましたか? Cのすべての兆候は、2番目のものはほとんど動作するが、最初のものではないが、その逆を示していることを私に伝えている。私はCのポインタに関する詳細な答えを提供することができますが、それがあなたが探しているものではない場合、私はむしろそうではないでしょう。 – FrankieTheKneeMan