• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

20.03.19 13:42 작성 조회수 108

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차원 배열이랑 비슷한 개념이므로 이중포인터로 해야하는거 아닌가요? 왜 단일 포인터로 하는지 모르겠습니다..

답변 2

·

답변을 작성해보세요.

0

m1n_q님의 프로필

m1n_q

2021.02.16

그렇다면 본 강의의 코드중

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

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

0

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

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