2차원 배열에 메모리를 할당하기 위해서는 이중포인터를 활용해야합니다. 1차원 배열의 메모리 할당과는 다르게 두가지 스텝으로 분류해서 이 과정을 이해할수 있습니다. 먼저 2차원 배열의 행과 열을 row (행), column(열)로 두었을때 선행되는 작업은 row 행만큼 정수형 포인터의 메모리를 할당하는 것입니다. d_Array= malloc(sizeof(int *) * row) // 1차원 배열을 row개 만큼 메모리 할당한다고 이해할수 있습니다. 그리고 할당된 row개의 메모리 공간에 가로길이 col 만큼(열에 해당) 메모리를 할당해줍니다. 이 각각은 1차원 배열이므로 기존에 알고있던 배열의 메모리할당을 떠올리면 쉽습니다. for(int i=0;i<N;i++){ d_Array[i]=malloc(sizeof(int) * col) } 위와 같은 방법으로 2차원배열에 메모리를 할당할수있습니다.
++심화, 문자열의 길이가 긴 순서대로 정렬하여 출력하기 #pragma warning(disable:4996) min_length = strlen(d_array[0]); for (int j = 0; j < N - i - 1; j++) { if (strlen(d_array[j]) < strlen(d_array[j + 1])) {
} } } for (int i = 0; i < N; i++) { |