クラシックなC++メモリ割り当てによるcrashのケース

934 ワード

クラシックなC++メモリ割り当てによるcrashのケース
今日qq某大侠は私に聞いて、どうして彼のコードはcrashができます
char* pdata = new char(14245);
::memset( pdata, 0, 14245 );

私はすぐにコードを実行して、結果はやはりAccess Violentです.
その後mallocを試しても問題ありません
ランダムにこのコードを削除して、数分後、私は記憶に従って、コードを書き直しました.
char* pdata = new char[14245];
::memset( pdata, 0, 14245 );

   crash 。    
 
 
 
 
 
 
     char       14245    ?    new  1   ,  memset   14245   ,      
       ,       ,