请教c++编程问题,急
大家看看下面这段程序,我分别让Nwk等于三个不同的值,但是却出现这样的怪事,当 Nwk = 147755616 时,内存可以分配成功;
当 Nwk = 347755616 时,内存无法分配成功;
当 Nwk = 631812378 时,内存又可以分配成功;
请问这是怎么回事,这段代码可以直接编译,没什么错误,大家可以试一下
我对内存管理不是很熟,忘各位高手指教,谢谢!
#include <stdio.h>
#include <math.h>
#include <fstream.h>
#include <string.h>
#include <time.h>
#include "stdlib.h"
void main( void )
{
double *Gk ;
int Nwk ;
Nwk = 147755616 ;
Nwk = 347755616 ;
Nwk = 631812378 ;
Gk = new double[Nwk] ;
if ( Gk==0)
{
printf("Error!!!\n") ;
exit(0) ;
}
else
{
printf("ok!!!!!\n") ;
}
delete []Gk ;
}