다음 코드로 세그먼트 화가 계속됩니다. 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