• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

<10.11 질문> 배열이 함수에 들어갔을 때

23.01.29 00:40 작성 23.01.29 00:40 수정 조회수 190

0

10.11 강의의 11번째줄의 함수를 예로 들어

함수의 arguments 정의할때 들어가는 배열을 입력하면 해당 배열의 포인터의 값이 들어가고

함수에서 배열에 val 값을 더해줄 때는 배열의 포인터에 val 값을 더해준다고 표현해주셨는데 계산된 결과는 배열의 포인터의 dereferencing된 값에 val값을 더해준 것이였습니다.

저는 포인터 연산이 되어 해당 배열 값에 val*(자료형의 크기 값이) 더해질 줄 알았습니다.

함수의 arguments에서 배열을 포인터로 정의하고 함수 내부에서 배열을 쓸 때 포인터값과 dereferencing된 값(즉, 배열의 값)이 어떻게 구분되는건가요??

답변 1

답변을 작성해보세요.

0

강민철님의 프로필

강민철

2023.01.29

포인터 연산이 되어 해당 배열 값에 val*(자료형의 크기 값이) 더해질 줄 알았습니다.

이 것 (* 연산을 통해 주소를 통해 값을 접근하는 것)을 dereferencing이라고 합니다.

배열의 이름 자체가 포인터입니다. 주소값을 의미하지요.

(정확히는 첫번째 element의 주소값)