새소식

컴퓨터공학 💻/C

C 프로그래밍 (20) - 동적 메모리 2차원 배열

  • -

동적메모리의 2차원 배열에 관한 내용이다.

int형 포인터 사이즈만큼의 공간을 8개 할당하고 그 할당된 데이터 각각의 데이터의 포인터에 int형 사이즈 6개를 할당하는 것이다.

 

그림으로 풀이하면 위와 같다. 가운데 8개의 데이터들은 각각 하나의 변수만큼이 6개 만큼의 위치를 포함하고 있는 어떠한 배열의 첫번째 포인터값을 가리키는 것이다. 즉 가운데 주황색 네모는 위 6개 배열의 맨 첫번째 데이터를 가리키며 그 옆 그린색 네모는 가리키는 6개 배열의 맨 첫번째 데이터를 가리키는 것이다. 

 

이런식으로 반복되어 48개의 데이터를 만들어내어 2차원 배열을 만들어낸다. 

 

y가 0일때 x값이 0부터 5까지 증가하며 데이터를 만들어내고 x가 6이되었을 때 y는 1이 되며 다시 그 값에 해당하는 x값이 0부터 5까지 검증이되며 계속 해서 초기화를 하는 것이다. 총 48개 크기의 int형 배열이 초기화가 이루어진다. 

 

 

그다음 아까 초기화했던 것들을 차례대로 하나씩 출력해준다.

x가 한번 6만큼 반복했을 때 띄어쓰기 해주도록 한다.

 

 

각각 해당하는 작은 6개의 배열 메모리들, 즉 갖가지 6개에 해당하는 배열들이 8개 배열만큼 해제 해주도록 한다. 출력해보면 위와 같이 6개의 배열만큼 총 8개의 배열의 데이터들이 나오게 된다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.