• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

10.5 8:40 질문 있습니다.

22.07.09 04:13 작성 조회수 114

0

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

 

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

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

                      {4,5,6}};

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

답변 1

답변을 작성해보세요.

0

강민철님의 프로필

강민철

2022.07.09

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

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

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

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

 

한 가지 팁을 드리자면,

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

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

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

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

감사합니다.