14.1 포인터란


포인터는 메모리 주소를 값으로 갖는 타입이다. 이렇게 메모리 주솟값을 변수값으로 가질 수 있는 변수를 포인터 변수라고 한다.

메모리 주소를 값으로 가져 메모리 공간을 가리키는 타입을 포인터라고 하는데, 이를 이용하면 여러 포인터 변수가 하나의 메모리 공간을 가리킬 수도 있고 포인터가 가리키고 있는 메모리 공간의 값을 읽을 수도 변경할 수도 있다.

14.1.1 포인터 변수 선언


포인터 변수는 가리키는 데이터 타입 앞에 * 를 붙여 선언한다.

var p *타입

포인터는 메모리 주소를 값으로 가지고 있다. 그렇다면 어떻게 메모리 주소를 알아올까? & 를 붙이면 된다.

var a *int
var s int
a = &s

여기서 포인트 변수 앞에 *를 붙이면 그 포인터 변수가 가리키는 메모리공간에 접근할 수 있다.

*a = 20 // 해당 주소에 접근하여 값을 변경

14.1.2. 포인터 변숫값 비교


== 연산을 사용해 포인터 값읕 메모리 공간을 가리키는지 확인 할수가 있다.

14.1.3 포인터의 기본값 nill