• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

포인터 질문합니다.

18.07.26 16:48 작성 조회수 73

0

이번 강의에서 swap_addr를 메인함수에서 호출하실 때, swap_addr(&a, &b)로 호출하시고

함수 정의부분에서는 swap_addr(int a, int b)로 함수를 정의하셨잖아요..!

근데 호출할 때의 인자와 정의할 때의 인자가 주소값과 주소값이 가리키는 값으로 두 개의 값이 다른데, 같지 않아도 되는 것인가요?

감사합니다.

답변 1

답변을 작성해보세요.

1

안녕하세요,

swap 함수를 통해 넘기는 값은 &a 와 &b 입니다. 그리고 함수에서 받는 값은 int a, int b 이구요. 이게 무슨 말이냐면, swap(정수값, 정수값) 을 넘기면 두 정수값을 받겠다는 얘기가 됩니다. 그리고 &a 와 &b 는 a 와 b 변수가 존재하는 메모리상의 주소값, 즉 "정수형 데이터" 가 됩니다. 그러므로 swap 함수를 통해 정수를 넘기게 되는 것이므로 사용에는 아무런 문제가 없습니다. & 에 대한 부분을 다시 한번 학습하시면 도움될것 같습니다. 감사합니다. ^^