• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語 動的なメモリの確保 コンパイル時エラーも警告もないのに実行できない)

C言語で動的なメモリの確保を行い、実行時エラーが発生する理由について

このQ&Aのポイント
  • C言語で動的なメモリの確保を行い、実行時エラーが発生する理由について解説します。
  • 配列A[3]を{2, 4, 6}と初期化し、malloc関数を使ってメモリを確保します。しかし、実行時にエラーが発生し、正常に動作しません。
  • VCのデバッグテストでは正常に動作するが、コマンドラインから実行するとエラーが表示される原因についても説明します。

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

  • ベストアンサー
  • fxdwg99
  • ベストアンサー率45% (43/94)
回答No.1

malloc(3)とは、3バイト確保するという意味です。 しかしint型は4バイトあるため実行時にエラーになります。 正しくは、malloc(sizeof(int)*3)です。

ikepan
質問者

お礼

ご返答ありがとうございます。 的確な回答とても理解できました。おかげでうまく実行できるようになりました。