>239
デストラクタを起動するために配列のオブジェクトの数が必要なため、
たいていの実装では、数を格納する4Byteを余分に確保する。
そのため、デストラクタのあるオブジェクトのplacement new[]では、
与えるポインタと返されるポインタがずれる。

>241
どうでもいいけど
>operater new[](5 * sizeof(c));
>delete [] buf;
個人的に、単なるメモリ確保には
operator new(5 * sizeof(c));
operator delete(buf);
こっちを押したい