次のコードを使用してセグメンテーションが継続します。 4000を1000に変更すると、コードは正常に動作します。私はここに十分な記憶があると思います...どうすればこの問題を解決できますか?小(ish)2d配列のセグメンテーションフォルト
#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がどのくらい錆びているのかを示しています(なぜ、疲れたときに特別なコメントを投稿してはいけないのですか?) – berry120