• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メモリ操作関数『malloc(),free()』)

メモリ操作関数『malloc(),free()』について

このQ&Aのポイント
  • メモリ操作関数『malloc(),free()』について説明します。
  • プログラムでメモリを確保する際に使用するmalloc()関数と、確保したメモリを解放する際に使用するfree()関数について説明します。
  • ただし、質問者さんが試してみたプログラムでメモリのサイズを変えても何も変化しなかったとのことですが、正しく動作しているかどうか確認する方法についても説明します。

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

  • ベストアンサー
  • kirinoma
  • ベストアンサー率53% (288/542)
回答No.1

間違っているのは 1.文字列の代入を行っていない. 2.printfで表示させるのはptrであるべき. の2点だと思います. 最初に char pre_copy[] = "Allocate"; などと,コピー元文字列を作成しておき, mallocでptrのメモリ領域の確保を行ったら, strcpyなどを用いてpre_copyからptrの領域へ文字列コピーしてみてください. その後, printf("%s\n",ptr); を記述し,コンパイルして実行してみてください.. 十分な量をメモリ領域を確保していない場合に,エラーが出ます.