인프런 커뮤니티 질문&답변
강의 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가 무엇인지를 알려드리는 예시입니다.
감사합니다 :)





