&, * 연산자 처리




&, * 연산자를 활용하면 참조할 수 있습니다.



& 연산자는 메모리 주소를 알려주고,

* 연산자는 그 메모리 주소에 접근하게 해 줍니다.



일반적인 경우

예)

a = 1

b = a

b = 2

이렇게하면 a는 1, b는 2 가 됩니다.

인트값은 참조되지 않고 새로이 메모리에서 할당을 받게 되는데요.

- Array의 경우는 참조되죠~



이를 새로 할당하지 않고 기존 할당된 메모리를 그대로 사용하려면 다음처럼 하면 됩니다.

예)

a = 1

b = &a

*b = 2

이렇게 하면 a는 2, b는 a의 주소가 됩니다.

*b = 2를 하면 a의 메모리에 직접 값을 넣기에 a의 값이 변하게 되는겁니다.



아래처럼 사용하면 안되요~

예)

a = 1

b = &a

b = 2

이렇게하면 b = 2가 되면서 참조되지 않습니다.

주위~

저작자 표시 비영리
신고
Posted by 황군 Hwanggoon


티스토리 툴바