/* malloc()についてなのですが */

char *ch
ch=malloc(1000);
ch="test";

この場合chにtestという文字列を代入した時に
malloc()で取得した領域は破棄されてしまうのでしょうか?
それともfree(ch)とするまで確保され続けるのでしょうか?