- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語 動的なメモリの確保 コンパイル時エラーも警告もないのに実行できない)
C言語で動的なメモリの確保を行い、実行時エラーが発生する理由について
このQ&Aのポイント
- C言語で動的なメモリの確保を行い、実行時エラーが発生する理由について解説します。
- 配列A[3]を{2, 4, 6}と初期化し、malloc関数を使ってメモリを確保します。しかし、実行時にエラーが発生し、正常に動作しません。
- VCのデバッグテストでは正常に動作するが、コマンドラインから実行するとエラーが表示される原因についても説明します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
malloc(3)とは、3バイト確保するという意味です。 しかしint型は4バイトあるため実行時にエラーになります。 正しくは、malloc(sizeof(int)*3)です。
お礼
ご返答ありがとうございます。 的確な回答とても理解できました。おかげでうまく実行できるようになりました。