제가 포인터 함수 ( Ref , Val ) 하는 데요.
터큰
2023.04.01
질문 제목 : ref , val 의 차이점.질문 내용 :제가 공부를 하는데 책에서 평소 하던
값 바꾸기를 봤어요. 근데 통상적으로
val 값은 않 바뀌고 ref 값은 바뀐다.. 라 되잖아요.
제 생각은
ref 와 val 똑같이 또다른 변수 안에 값을 저장하잖아요.
근데 왜 val , ref 는 값이 각각 다르죠?
구체적으로 좀.ㅍ.ㅠ
-
은솔
그러니 곧.
값은 복사 된것이기 때문에 복사된 값만 바뀌지 실인수는 바뀌지 않고,
형식인수만 바뀐다.
하지만, 메모리 주소 값은 그대로 이니 그자체를 바꾼다.
음.. 좋은 설명 감사합니다. 그리고
이해하고 있는게 맞습니다.^^ -
하련솔
제가 이해하고 있는게 맞는지는 모르겠지만 C언에서 함수는 call by value를 기본으로 하고 있어서 함수로 넘어갈때 값이 복사되는것으로 알고 있습니다. 그래서 복사된 값을 변경해도 원본의 값은 변경되지 않고요..
그래서 포인터형 변수를 넘겨주는데 포인터형 변수는 값을 가지고 있는것이 아니라 데이터를 가지고 있는 주소를 가지고 있습니다. 그래서 함수로 넘어갈때 데이터를 가지고 있는 주소가 넘어가서 함수내에서 주소가 가르키는 데이터를 변경할수 있죠.