안녕하세요.
문제 풀이 중 이해가 어려운 부분이 있어서 질문 올립니다.
p=a[0]
이 부분에서 왜 p에는 값 11이 아닌, a[0]의 주소가 입력 되는 건가요?
해설이나 앞의 설명 부분을 봐도 이해가 어렵습니다.
답변 기다리겠습니다. 감사합니다.
안녕하세요 길벗수험서 운영팀입니다.
1차원 배열에서 a[5]가 선언되었다면 a는 5개의 요소 맨 앞부분을 가리킨다는 것을 이전 과정에서 배우셨을 것입니다.
그렇다면 2차원 배열에서는 이것이 중첩된다고 보시면 됩니다.
a[3][5]가 선언되었다면 a[0]은 첫 번째 5개의 요소 맨 앞부분을 가리키는 주소이고,
a[1]은 두 번째 5개의 요소를, a[2]는 세 번째 5개의 요소를 가리키게 됩니다.
그리고 a는 주소를 저장하고 있는 a[0]~a[2]의 시작 지점을 가리키는 주소죠. (즉 주소를 저장하는 요소들의 앞부분을 가리킴)
1차원 배열과 2차원 배열을 구분하여 주소를 기억하는 요소들을 기억해두세요.
행복한 하루되세요 :)
-
관리자2023-02-03 09:03:09
안녕하세요 길벗수험서 운영팀입니다.
1차원 배열에서 a[5]가 선언되었다면 a는 5개의 요소 맨 앞부분을 가리킨다는 것을 이전 과정에서 배우셨을 것입니다.
그렇다면 2차원 배열에서는 이것이 중첩된다고 보시면 됩니다.
a[3][5]가 선언되었다면 a[0]은 첫 번째 5개의 요소 맨 앞부분을 가리키는 주소이고,
a[1]은 두 번째 5개의 요소를, a[2]는 세 번째 5개의 요소를 가리키게 됩니다.
그리고 a는 주소를 저장하고 있는 a[0]~a[2]의 시작 지점을 가리키는 주소죠. (즉 주소를 저장하는 요소들의 앞부분을 가리킴)
1차원 배열과 2차원 배열을 구분하여 주소를 기억하는 요소들을 기억해두세요.
행복한 하루되세요 :)
-
관리자2023-02-06 10:34:48
안녕하세요 길벗수험서 운영팀입니다.
a[0][0]의 값을 p에 저장하는 방법에는
p = a[0][0];
p = *a[0];
p = *(*a);
p = **a;
가 있습니다.
행복한 하루되세요 :)
-
*2023-02-03 15:26:41
답변 잘 읽었습니다. 감사합니다.
그렇다면 주소가 아닌 2차원 배열 안의 값을 표현하고 싶을 때에는
p=[0][0] 이런식으로 적으면 11이라는 값이 p에 저장되는 걸까요?
답변 기다리겠습니다. 감사합니다.