나는 C 언어를 배우기 때문에 배열 (사용자가 가져온 배열의 크기)에 메모리를 할당하려고 시도했지만 세그먼트 오류가 발생한 후 그것을 초기화하십시오.동적 배열 2 차원 배열 및 초기화 (조각화 오류)
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("give the dimensions!\n");
int row,col,i,j;
int **myArray;
printf("\nrows = ");
scanf("%d", &row);
printf("columns = ");
scanf("%d", &col);
myArray = malloc(row*sizeof(*myArray) + col*sizeof(**myArray));
printf("Init the array: \n");
for (i = 0; i < row; i++)
{
for (j = 0; j <col ; j++)
{
scanf("%d", &myArray[i][j]);
}
}
return 0;
}
내가 myArray[2][2]
로 배열을 변경하고 잘 작동하는 malloc에 문을 생략하면 ..
추가 공간 scanf와 '에 ("%의 D"를,에서 myArray [I] [J])'는 사실을 할당하는 비즈니스에 대해 설정되면 2D 배열 –