为什么我定义一个400*400的数组在运行时,总是出现stack overflow的错误?100! 动态分配内存new..... delete[] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 float (*cp)[25][10];cp = new float[99999][25][10];delete[] cp; 修改默认栈大小project->setting什么的,找找最好还是堆里动态分配,同上面 struct AAA{ LPSTR name; int kkk;};void CDialog1::OnButton1() { AAA (*myaaa)[1000]; myaaa = new AAA[1000][1000]; myaaa[0][1].name="sdffsdfssfsdffffsdfs"; ::MessageBox(0,myaaa[0][1].name,"",MB_OK); delete[] myaaa;} struct AAA{ LPSTR name; int kkk;};void CDialog1::OnButton1() { AAA (*myaaa)[1000]; myaaa = new AAA[1000][1000]; myaaa[0][1].name="sdffsdfssfsdffffsdfs"; ::MessageBox(0,myaaa[0][1].name,"",MB_OK); delete[] myaaa;} VC6编译器为每个程序分配的默认堆栈空间为1M,你不经过特殊处理就要用大于1M的空间,当然要出现堆栈溢出了:(在链接程序时有一个参数,可以指定要系统给这个进程分配的默认堆栈空间的大小:)或者在程序中自己申请私有堆栈空间,不知你用这么大空间要干什么,不行的话也可用内存映射文件:) 用堆空间或者修改编译参数扩大栈空间我都可以理解,可是竟然有人提议用链表实在让我faint不已。实在要用stl也该用vector呀。 修改栈默认栈大小点击Project->Setting菜单在Link页下的文本框里加入/STACK:4000000后面的数字可以根据需要修改,现在是4M 你一定是直接在函数内部声明的数组吧?这样会直接使用程序的堆栈,400*400应该是会溢出的。如果在堆里动态分配一般不会溢出。double **p;p = new double*[1000];for (int i=0; i<1000; i++) p[i] = new double[1000];之后就可以用 p[999][999] 的形式使用这个数组了。 高手给点思路 急!!!!如何读取history文件的内容? 打印问题,我的程序打印时不显示对话框,怎么由程序更改打印机? Win2000 下用在VC里取显存大小 调试的时候代码行定位不准是怎么回事? VC中怎么建立与oracle数据库关联啊?C/S模式! 发现对方机器存活有哪些方法 如何制作菜单,像开始菜单一样的左部或右部带位图条的? 我的对话框程序一按回车就关闭,怎样解决这个问题? 有关于Http代理协议的RFC文档吗?? 如何吧int(或者UINT)转换成CString 有一个小问题,不过很紧急,请救!
cp = new float[99999][25][10];delete[] cp;
project->setting什么的,找找最好还是堆里动态分配,同上面
LPSTR name;
int kkk;
};void CDialog1::OnButton1()
{
AAA (*myaaa)[1000];
myaaa = new AAA[1000][1000]; myaaa[0][1].name="sdffsdfssfsdffffsdfs"; ::MessageBox(0,myaaa[0][1].name,"",MB_OK);
delete[] myaaa;
}
LPSTR name;
int kkk;
};void CDialog1::OnButton1()
{
AAA (*myaaa)[1000];
myaaa = new AAA[1000][1000]; myaaa[0][1].name="sdffsdfssfsdffffsdfs"; ::MessageBox(0,myaaa[0][1].name,"",MB_OK);
delete[] myaaa;
}
链表实在让我faint不已。
实在要用stl也该用vector呀。
点击Project->Setting菜单
在Link页下的文本框里加入
/STACK:4000000
后面的数字可以根据需要修改,现在是4M
p = new double*[1000];
for (int i=0; i<1000; i++) p[i] = new double[1000];之后就可以用 p[999][999] 的形式使用这个数组了。