인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김김김님의 프로필 이미지
김김김

작성한 질문수

홍정모의 따라하며 배우는 C언어

10.5 2차원 배열과 메모리

10.5 8:40 질문 있습니다.

작성

·

158

0

arr[0]이 3개짜리 사이즈에 대응한다고 하셨는데 왜 그런지 잘 모르겠습니다. 부연 설명 해주시면 감사하겠습니다.

 

또한 2차원 배열을 초기화 할 때, 예를 들어

int arr[  ][  ] = { {1,2,3},

                      {4,5,6}};

이렇게 하면 위 빈칸에 각각 3 3이 들어가는게 아니라 오류가 난다고 어렴풋이 알고 있는데 이유 설명 부탁드립니다.

답변 1

0

세 개의 원소 {1, 2, 3}가 a[0]에 들어가있기 때문입니다.

또한 int arr[  ][  ] = { {1,2,3}, {4,5,6}}; 와 같이 초기화하면 안되는 이유는

메모리 상에 이차원 배열이 저장될 때 arr어느 정도의 크기로 할당되어야 할지 정해지지 않았기 때문입니다.

(쉽게 말해 가로 세로 크기를 확정짓기 어렵기 때문입니다)

 

한 가지 팁을 드리자면,

수강을 하시다 궁금한 것이 생길 적에 지금과 같이 질문해주시는 것은 매우 좋은 학습법이지만,

때로는 궁금한 것이 생겼을 때 한 번쯤 이를 교수님께서 설명하신 내용과 연관지어 고민해보는 것 또한 

매우 좋은 학습법이라 생각됩니다.

실력은 언제나 고민의 양에 비례하니까요 :)

감사합니다. 

김김김님의 프로필 이미지
김김김

작성한 질문수

질문하기