【发布时间】:2011-08-05 23:46:04
【问题描述】:
我不断使用以下代码进行分段。将 4000 更改为 1000 会使代码运行良好。我会认为我这里有足够的内存......我该如何解决这个问题?
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#define MAXLEN 4000
void initialize_mx(float mx[][MAXLEN])
{
int i, j;
float c=0;
for(i=0;i<MAXLEN;i++){
for(j=0;j<MAXLEN;j++) mx[i][j]=c;
}
}
int main(int ac, char *av[])
{
int i, j;
float confmx[MAXLEN][MAXLEN];
initialize_mx(confmx);
return 0;
}
【问题讨论】:
-
@berry:不能用 malloc 初始化数组类型,只能用指针类型。
-
@Dietrich Epp 对不起,你当然很成功。显示我的 C 有多生锈(以及为什么我不应该在疲倦时发布临时 cmets!)
标签: c arrays segmentation-fault