Redian新闻
>
请教: C语言一个中等大小的矩阵的内存分配
avatar
请教: C语言一个中等大小的矩阵的内存分配# Computation - 科学计算
d*2
1
机器内存2G, 用matlab的话可用4000x4000的矩阵8-10个的样子. 现在刚学C语言,用了
一句
double extended_u2[512][256][2]; 编译运行的时候说main.exe遇到问题需要关闭.如
果把矩阵改到256x256就没有问题.请问我该怎么分配内存?先谢了!
by the way, 我是用dev c++编译联接的.
avatar
l*i
2
new

【在 d*******2 的大作中提到】
: 机器内存2G, 用matlab的话可用4000x4000的矩阵8-10个的样子. 现在刚学C语言,用了
: 一句
: double extended_u2[512][256][2]; 编译运行的时候说main.exe遇到问题需要关闭.如
: 果把矩阵改到256x256就没有问题.请问我该怎么分配内存?先谢了!
: by the way, 我是用dev c++编译联接的.

avatar
y*g
3
c的话malloc
c++ new

【在 d*******2 的大作中提到】
: 机器内存2G, 用matlab的话可用4000x4000的矩阵8-10个的样子. 现在刚学C语言,用了
: 一句
: double extended_u2[512][256][2]; 编译运行的时候说main.exe遇到问题需要关闭.如
: 果把矩阵改到256x256就没有问题.请问我该怎么分配内存?先谢了!
: by the way, 我是用dev c++编译联接的.

avatar
l*n
4
内存的问题,估计内存不够了

【在 d*******2 的大作中提到】
: 机器内存2G, 用matlab的话可用4000x4000的矩阵8-10个的样子. 现在刚学C语言,用了
: 一句
: double extended_u2[512][256][2]; 编译运行的时候说main.exe遇到问题需要关闭.如
: 果把矩阵改到256x256就没有问题.请问我该怎么分配内存?先谢了!
: by the way, 我是用dev c++编译联接的.

avatar
d*2
5
多谢! 颇有进展,我用
double *extended_u2;
extended_u2=(double *) malloc(1024*1024*2);
没有问题了.但是赋值还是有问题.
extended_u2[1024*1024/8]=0;可以,奇怪的是
extended_u2[1024*1024/4]=0;就不行.
先谢了!

【在 y*******g 的大作中提到】
: c的话malloc
: c++ new

avatar
t*e
6
extended_u2=(double *) malloc(1024*1024*2*sizeof(double));
用完了别忘了free(extended_u2)

【在 d*******2 的大作中提到】
: 多谢! 颇有进展,我用
: double *extended_u2;
: extended_u2=(double *) malloc(1024*1024*2);
: 没有问题了.但是赋值还是有问题.
: extended_u2[1024*1024/8]=0;可以,奇怪的是
: extended_u2[1024*1024/4]=0;就不行.
: 先谢了!

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。