강의

멘토링

로드맵

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

최성락님의 프로필 이미지
최성락

작성한 질문수

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

10.16 다차원 배열을 함수에게 전달해주는 방법

포인터의 기본주소가 이해가 되지 않습니다.

작성

·

269

0

10-14강의해서 선생님꼐서 2차원에서 arr의 기본주소는 &arr[0][0]이 아닌 &arr[0]이라고 하셨는데 이번 강의에서는 

int data[ROWS][COLS] = {

{1,2,3,4},

{5,6,7,8},

{9,0,1,2}

};

printf("%d\n", data[1][2]);

int* ptr = &data[0][0];

여기서 *ptr을 &data[0]이 아닌 왜 &data[0][0]이어야 하는지 모르겠습니다. ㅠ 둘다 주소를 출력했을 때 주소는 같은 주소인데 왜 다른지 이해가 되지 않습니다.

퀴즈

53%나 틀려요. 한번 도전해보세요!

C 언어에서 표준 배열의 요소들은 메모리에 어떻게 저장될까요?

서로 떨어진 위치에 임의로 저장된다.

링크드 리스트 형태로 연결되어 저장된다.

연속적인(contiguous) 메모리 공간에 저장된다.

스택에 쌓이는 형태로 저장된다.

답변 2

0

최성락님의 프로필 이미지
최성락
질문자

int*ptr = &data[0]; 로 하면 에러가뜹니다.

0

홍정모님의 프로필 이미지
홍정모
지식공유자

int*ptr = &data[0];

을 하면 어떻게 되나요?

최성락님의 프로필 이미지
최성락

작성한 질문수

질문하기