偶在编一个程序,有一个二维数组,为M[10][TIME]。 当我把TIME定义为1000时,程序显示:“too much global data defined in file in function main”。 把TIME定义为10000时,更显示:“Array size too large in function main”。 我想是不是C语言数组不能定义太大啊? 如果是的话,有没有什么办法可以将数组定义大点呢? 请各位C语言高手们予以指点,在下不胜感激!!!!
偶在编一个程序,有一个二维数组,为M[10][TIME]。 当我把TIME定义为1000时,程序显示:“too much global data defined in file in function main”。 把TIME定义为10000时,更显示:“Array size too large in function main”。 我想是不是C语言数组不能定义太大啊? 如果是的话,有没有什么办法可以将数组定义大点呢? 请各位C语言高手们予以指点,在下不胜感激!!!!
谢谢大家!!!!
唉!兄弟们不知道啊.偶编的这个程序时间步长只有0.04秒,要想看到正常的结果,就得到400秒以上才行啊.
行列对调似乎也不可呀,因为偶这个程序第二维为时间,不能调啊.
唉!看来是废了.5555
[em40]没办法,我用不惯malloc,动态申请的话多大都可以!如下:
#include<iostream.h>
void main() { int m,n; cout<<"input 1st dimension:"; cin>>m; cout<<"input 2nd dimension:"; cin>>n;
//申请内存 int **p = new int*[m]; for(int i=0;i<m;i++) p[i] = new int[n];
//释放数组 for(i=0;i<m;i++) delete[] p[i]; delete[] p; }
多谢众位大侠!!
在下才疏学浅,实在无以为报,
唯有祝各位学习进步,工作顺利了!呵呵.
#include <alloc.h> void main() { int m,n,i; int **p; //cout<<"input 1st dimension:"; printf("input 1st dimension:"); //cin>>m; scanf("%d",&m); //cout<<"input 2nd dimension:"; printf("input 2nd dimension:"); //cin>>n; scanf("%d",&n); //申请内存 //int **p = new int*[m]; p=(int **)malloc(m*sizeof(int)); for( i=0;i<m;i++) p[i] = (int *)malloc(n*sizeof(int)); for(i=0;i<m;i++) free(p[i]); free(p); //delete[] p; }
还原的对么????live41
#include <alloc.h> void main() { int m,n,i; int **p; //cout<<"input 1st dimension:"; printf("input 1st dimension:"); //cin>>m; scanf("%d",&m); //cout<<"input 2nd dimension:"; printf("input 2nd dimension:"); //cin>>n; scanf("%d",&n); //申请内存 //int **p = new int*[m]; p=(int **)malloc(m*sizeof(int)); for( i=0;i<m;i++) p[i] = (int *)malloc(n*sizeof(int)); for(i=0;i<m;i++) free(p[i]); free(p); //delete[] p; }
还原的对么????live41