[592] deleteとdelete[]
投稿者:もぐ
2007/02/20 02:13:25
前橋さんの「C言語 ポインタ完全制覇」
とても面白かったです。
さて、この本と少ししか関係がないので申し訳ありませんが
Cの文法によると、
x=new char; とした後、これを開放するときは delete x;
x=new char[n]; とした後、これを開放するときは delete[] x;
となっていると思います。
ところで delete と delete[] はどう違うのでしょうか。
両者を取り違えると不都合があるのでしょうか。
また、もちろん
x=new char[n]; の後の delete[] x; でchar型のn個の領域が開放されますが
このときのnの値(開放すべきデータのサイズ)は
メモリのどこに保存されているのでしょうか。
それから
x=new char[n]; を開放するときは delete x[];
という人もいますが、これは間違いではないでしょうか。
以上、お願いします。