| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1112 人关注过本帖
标题:求教:该如何把数组其中一维设成1000个元素以上?
只看楼主 加入收藏
southhero
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-9-4
收藏
 问题点数:0 回复次数:9 
求教:该如何把数组其中一维设成1000个元素以上?

偶在编一个程序,有一个二维数组,为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语言高手们予以指点,在下不胜感激!!!!

搜索更多相关主题的帖子: 元素 定义 C语言 function 
2004-09-04 14:16
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 

大哥,你要这么大的数组干什么呢?

你可以用几个小一点的,不一样吗?


2004-09-04 17:00
musicyxy
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2004-8-14
收藏
得分:0 

把数组行列对调试试看!C中不可能显示过多列数,考虑一下实际呀,兄弟!定义成[1000][10]。


2004-09-04 17:19
southhero
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-9-4
收藏
得分:0 

谢谢大家!!!!

唉!兄弟们不知道啊.偶编的这个程序时间步长只有0.04秒,要想看到正常的结果,就得到400秒以上才行啊.

行列对调似乎也不可呀,因为偶这个程序第二维为时间,不能调啊.

唉!看来是废了.5555

[em40]
2004-09-04 20:29
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

指针,int *a;   a = new int(1000);
2004-09-04 20:49
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
又是C++

2004-09-04 21:00
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

没办法,我用不惯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; }

2004-09-04 21:06
southhero
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-9-4
收藏
得分:0 

多谢众位大侠!!

在下才疏学浅,实在无以为报,

唯有祝各位学习进步,工作顺利了!呵呵.

2004-09-05 23:13
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

#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


差点把你忘了...
2004-09-06 10:29
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
以下是引用天使预备役在2004-09-06 10:29:28的发言:

#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

感谢天使帮助,小弟才疏学浅,无能转为C语言……
2004-09-07 11:00
快速回复:求教:该如何把数组其中一维设成1000个元素以上?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.077525 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved