강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

csr0320 のプロフィール画像
csr0320

投稿した質問数

ホン・ジョンモの真似して学ぶC言語

10.16 多次元配列を関数に渡す方法

왜 함수에서 넣어야하는 변수가 2개인데 이중포인터가 아닌 그냥 포인터인지 모르겠습니다.

作成

·

208

0

왜 함수에서 넣어야하는 변수가 2개인데 이중포인터가 아닌 그냥 포인터인지 모르겠습니다.

int sum2d_3(int* ar, int row, int col)

{

int tot = 0;

for (int r = 0; r < row; r++)

for (int c = 0; c < col; c++)

tot += *(ar + c + col * r);

return tot;

}

이 함수를 보면 row와 col 두개를 변수로 가지고있는데 이러면 2차원 배열이랑 비슷한 개념이므로 이중포인터로 해야하는거 아닌가요? 왜 단일 포인터로 하는지 모르겠습니다..

c

回答 2

0

그렇다면 본 강의의 코드중

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

의 ar은 2차원 배열이 맞나요?

0

honglab님의 프로필 이미지
honglab
インストラクター

이것도 중요한 개념인데 1차원 배열을 2차원 배열처럼 사용하는 방법입니다. pointer operation 부분을 유심히 보시길 바랍니다. 

tot += *(ar + c + col * r);

csr0320 のプロフィール画像
csr0320

投稿した質問数

質問する