강의

멘토링

로드맵

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

kskw20님의 프로필 이미지
kskw20

작성한 질문수

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

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

강의 11:23의 화면에서 보이는 내용 질문

작성

·

273

0

앞의 내용에서 밑의 두 줄이 같은 코드라고 하셨는데

int sum2d_2(int ar[][COLS], int row);

int sum2d_2(int (*ar)[COLS], int row);

그렇다면 밑의 두 줄의 코드에서 같은 의미가 되려면 두번째 줄의 코드가 

int my_function(int ar[][3][5][8], int rows);

int my_function(int (*ar)[][3][5][8], int rows);

가 아닌

int my_function(int (*ar)[3][5][8], int rows);

와 같이 되어야하는 것 아닌가요?

 

퀴즈

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

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

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

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

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

답변 1

0

안녕하세요 :)

 

네 맞습니다.

다만, 두 함수가 같아지려면 질문자님 말씀처럼 

int my_function(int (*ar)[3][5][8], int rows);

 

이렇게 작성되는 것이 맞지만,

해당 강의 부분은 두 함수가 같다는 걸 알려 드리기 위한 부분이 아니라,

다차원 배열에서 생략할 수 있는 index가 무엇인지를 알려드리는 예시입니다.

 

감사합니다 :)

 

 

kskw20님의 프로필 이미지
kskw20

작성한 질문수

질문하기