강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của csr0320
csr0320

câu hỏi đã được viết

C ngôn ngữ học theo cách làm của Hồng Jeong-mo

10.16 Cách truyền mảng nhiều chiều vào hàm

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

Viết

·

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

Câu trả lời 2

0

그렇다면 본 강의의 코드중

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

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

0

honglab님의 프로필 이미지
honglab
Người chia sẻ kiến thức

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

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

Hình ảnh hồ sơ của csr0320
csr0320

câu hỏi đã được viết

Đặt câu hỏi