이 간단한 코드로 이상한 "Segmentation fault : 11"이 표시되어 문제를 파악할 수 없습니다. 동적으로 선언하고 크기 nrows x ncolumns 배열로합니다.세그먼트 오류가 발생하는 calloc이있는 단순한 2D 배열
#include <stdlib.h>
#include <stdio.h>
int main()
{
int nrows = 3;
int ncolumns = 5;
int **array;
array = calloc(nrows, sizeof(int));
for(int i = 0; i < nrows; i++)
{
array[i] = calloc(ncolumns, sizeof(int));
if(array[i] == NULL)
{
fprintf(stderr, "out of memory\n");
exit(-1);
}
}
for(int i = 0; i < nrows; i++)
{
for(int j = 0; j < ncolumns; j++)
{
array[i][j] = 10;
printf("%d %d: %d\n",i,j, array[i][j]);
}
}
return 0;
}
'array = calloc (nrows, sizeof (int));'array = calloc (nrows, sizeof (int *));' – BLUEPIXY
그래, 그게 다야! 감사. – Miguel
코드에 2D 배열이 없습니다. 포인터가 배열이 아닙니다. – Olaf