
int num[3];
이라고 하면 위 사진같은 배열이 생성되는거고
int num[3][2]; 라고 하면 아래같은 배열이 생성되는건가요 ?
책에서 int num[3][2];
하면
ㅁㅁ
ㅁㅁ
ㅁㅁ
이런식으로 그림으로 설명해줬는데 ( 직사각형 모양 , 행과 열 모양으로)
포인터 개념을 생각하면 num 은 num배열의 주소를 나타내잖아요
그래서 num+1 이나 (num+1)+1 같은 개념을 공부하는데 헷갈리네요
다차원 배열을 어떻게 이해해야 잘 이해할 수 있는건가요 ?
그림까지 그리고 염병하노이기야
다차원이던 일차원이던 걍 비트들의 배열이라고 생각해라 - dc App
걍 0과1이 주루룩 있는거고 자료형이라함은 그 0과1의 배열을 해석하는 방식이다 - dc App
해당 댓글은 삭제되었습니다.
읽어볼게요 감사합니다.
int ar[1][2][3] 은 결국 1개짜리 배열을 2개로쪼개고 2개짜리 배열을 각각 3개짜리로 쪼갠다는거랑 같네요 어느정도 이해가 됐습니다 감사합니다
배열을 스택에 생성하면 저렇게 스택에 이어서 차례대로 할당되는게 맞고 배열을 힙에생성되면 array[0][0] 부터 array[0][1]까지 힙에 어딘가에 저장되고 array[1][0] 부터 array[1][1] 까지의 배열을 힙에 어딘가 또 이어서 생성하고 그 배열들을 array[0], array[1] 포인터로 가르키는 형태로 힙에 생성된다. ㅇㅅㅇ 즉 더블포인터로 2차원배열을 관리하게된다는말
2차원을 이해못하면;;
결론은 여러개의 배열들을 여러개의 포인터들로 가르키는 형태가되니 연속적이지 않을수도있다는 말 ㅇㅅㅇ 스택과달리