작성
·
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어느 정도의 크기로 할당되어야 할지 정해지지 않았기 때문입니다.
(쉽게 말해 가로 세로 크기를 확정짓기 어렵기 때문입니다)
한 가지 팁을 드리자면,
수강을 하시다 궁금한 것이 생길 적에 지금과 같이 질문해주시는 것은 매우 좋은 학습법이지만,
때로는 궁금한 것이 생겼을 때 한 번쯤 이를 교수님께서 설명하신 내용과 연관지어 고민해보는 것 또한
매우 좋은 학습법이라 생각됩니다.
실력은 언제나 고민의 양에 비례하니까요 :)
감사합니다.