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

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

khb4435님의 프로필 이미지
khb4435

작성한 질문수

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

10.14 2차원 배열과 포인터

이중포인터 질문

작성

·

173

1

a[0][0] = **arr 이라고 소개하셨는데

arr은 배열의 시작주소잖아요?

그러니까 *arr하면 주소의 값을 참조해서 a[0][0] 아닌가요?

왜 이중포인터로 들어가야 값을 참조하나요......

답변 1

3

어떤 이차원배열 arr[i][j] 에 대해서,
*arr 는 arr[0][j] 의 첫번째 원소를 가리키는 '포인터'가 됩니다.
arr[0] 이렇게 선언해준거랑 똑같습니다.
따라서 dereference를 두 번 해주어야합니다.
-----------------
arr[i]
*(arr+i) 입니다.
arr[i][j] 는
*(*(arr+i)+j) 입니다.
저는 생각할 때 이렇게 생각합니다. 저도 헷갈려서 포스트잇에 적어놓고 붙여놨어요.

khb4435님의 프로필 이미지
khb4435

작성한 질문수

질문하기