質問させてください。

[1] 授業単元:C言語基礎
[2] 問題文:
  プログラム内で 初期化された配列A[3] と 文字列"TEST" を
  ダイナミックアロケーションによって確保されたメモリへ格納するプログラムを作成せよ。
[3] 環境
 [3.1] OS: WindowsXP Pro SP2
 [3.2] VC++ 2005EE
 [3.3] 言語: C言語
[4] 期限: 本日中
[5] その他の制限: 特になし

自分でなんとかコードは書け、ビルドには成功するのですが、いざ実行すると
「ヒープが壊れていることが原因として考えられます。kadai1-1.exe または読み込まれた DLL にバグがあります。」
というエラーが free(pt_c); の時点で発生し、正常に動作しません。
直接起動してもだめでした。
自分では原因が特定できないので、どうか対処方法を教えてください。
ソースは次の書き込みに記載します。
どうかよろしくお願いします。