• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:構造体のコピーについて)

構造体のコピーについて

このQ&Aのポイント
  • 次のプログラムを実行して、originalは偶数、copyは奇数を表示するようにしたいのですが、実行すると両方とも奇数になってしまいます。正しく表示されるようにするにはどこを直せばいいのか教えてください。
  • 構造体のコピーについてのプログラムを実行していると、originalとcopyの両方が奇数になってしまいます。どこを修正すれば、originalが偶数で、copyが奇数になるようになるのでしょうか?
  • 次のプログラムでは、originalとcopyのデータが同じになってしまいます。originalは偶数、copyは奇数になるように結果を表示するためにはどうすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • foomufoomu
  • ベストアンサー率36% (1018/2761)
回答No.2

前の回答の通りですが、こういう問題では、手抜きはできないんですね。 まず、メモリの割り当てでは、original_str,copy_str それぞれ別に alloc_strしないといけない。 (ここでは、copy_str = original_str; と、コピーしてはいけない。) データの複製は、for を使って、ひとつずつデータをコピーしないといけない。 ということです。

nogi4
質問者

お礼

わかりやすく教えていただきありがとうございます。 直したところ、正しく表示されました。

その他の回答 (1)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

>/* original を copy に複製 */ >copy_str = original_str; ポインタの値を代入してるだけで複製はしていませんよ。