전공자 아니고 나이 30대에 취미삼아서 배우는 중입니다.

\

여기서 첫번째 change 함수 호출때 x의 값이 x1에 대입하고 x의값은 변하지 않아서 계속 5이고


두번째 change 함수 호출때는 주소값 &x가 포인터 변수 *x2와 같아진다는 개념이므로, *x2가 100이면 &x 도 동시에 100이 된다. 이렇게 설명하는데 

이해가 잘안됩니다. 물론 포인터나 배열에서 말하는 메모리 주소값을 저장하는 주소값을 저장한다라는개념은 압니다.


결국 처음 change 함수 호출시에는 x값이 x1에 적용되서 5=50이 같아진다는거고


두번째는 포인터와 주소값을 대입할때는 서로 같아진다는 개념으로 생각해야 하는겁니까?

그래야 &x가 매개변수로 올때 기존에 *x2가 없어지지 않고 &x와 *x2가 같아져서  &x= *x2 개념이 성립되어 *x2 =100이면 &x도 100이 된다는 의미로 생각해야 한다는건가요? 즉 저런경우 일반 상수로 대입될때는 그 해당 변수를 완전히 대체하고 해당변수x는 대체되서 사라지고,


포인터와 번지 연산자&는 주소값을 가리키므로 사라지는 개념이 아니라 같아진다는 개념으로 생각해야 하는겁니까?