char * p_one = "this is my first char pointer";
char * p_two= "this is second";
strcpy(p_one ,p_two);
上記のコードを検討してください。これにより、アクセス違反エラーが発生します。だから理解するのを手伝ってください
- 現在の
"this is my first char pointer"文字列はメモリのどこに保存されていますか?ヒープまたはスタック strcpy最初の文字列がすでに格納されている場合でも、呼び出す前にp_oneにメモリを割り当てる必要があるのはなぜですか。"this is second"文字列を同じ場所にコピーできないのはなぜですか?- 呼び出す前にp_oneにメモリを割り当てると、p_oneが指す文字列は
strcpyどう"this is my first char pointer"なりますか?それはメモリに保持されますか? - 特定のポインタがメモリを割り当てたかどうかをどのよう
strcpyに知るのですか?