数组赋值为什么会出错啊??????
#include<stdio.h>#define MAX 1000000
int main(){
unsigned long int a[MAX]={0};
return 0;
}
为什么我VC上运行会出错啊?????
----------------解决方案--------------------------------------------------------
谢谢了
不过还是不明白为什么会报错啊
----------------解决方案--------------------------------------------------------
报什么错你总得说出来吧
----------------解决方案--------------------------------------------------------
max定义太大了。估计分配地址空间时出的错~~~ 改小了就没错了
----------------解决方案--------------------------------------------------------
我是说我VC 怎么一老出现这样的问题呢?
原来地址空间问题
学习了
----------------解决方案--------------------------------------------------------
/* 你的数组太大了 */
/* 解决方案如下,分几个G内存都可以,Win有虚拟内存的 */
#include <stdio.h>
#include <stdlib.h>
#define MAX 1000000
int main(void)
{
unsigned long * a;
int i;
/* 用 malloc() 从堆上分配内存 */
a = (unsigned long *)malloc(sizeof(unsigned long)* MAX);
for(i = 0; i < MAX; i++)
a[i] = 0;
free(a); // 别忘了释放内存
return 0;
}
//----------------------------//
[[italic] 本帖最后由 cosdos 于 2007-12-12 03:30 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
好大的数组啊
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]cosdos[/underline][/bold] 于 2007-12-12 03:25 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1144155&ptid=191955][/url]
/* 你的数组太大了 */
/* 解决方案如下,分几个G内存都可以,Win有虚拟内存的 */
#include
#include
#define MAX 1000000
int main(void)
{
unsigned long * a;
int i;
/* 用 malloc() 从堆上分配内存 ...
/* 你的数组太大了 */
/* 解决方案如下,分几个G内存都可以,Win有虚拟内存的 */
#include
#include
#define MAX 1000000
int main(void)
{
unsigned long * a;
int i;
/* 用 malloc() 从堆上分配内存 ...
恩学习了,谢谢哈~
----------------解决方案--------------------------------------------------------
long int型 的大小 为 4个字节。。 10000000 为一百万,则数组大小就为4百万字节,要分配这样的空间,要耗费一片大小为38.147M 连续的 内存空间。。。
----------------解决方案--------------------------------------------------------