04/03/07 14:12
>>571
マジレスかよ…しかも間違ってるし
>char p;
>p = (char)malloc( 320000 );
「malloc( 320000 )」の時点でmallocはvoid *を返す
そしてそのvoid *をcharにcastする(c++のcastで言えばreinterpret_cast)
castしたchar型の変数をpに代入する(これはまったくもって合法)
この時点でコンパイルエラーはねじ伏せせられることになる
(せいぜいsizeof(void *)!=sizeof(char)であるのなら、そのことを警告する程度)
これがcのキャストが危険な理由