공부/c++

c++ 포인터 간단하게

Lectinua 2019. 3. 29. 11:24

변수의 <메모리 주소>를 저장하는 변수

 

//

 

ex)

int i = 1;

int *ptr = &i;

 

뜻: int형 포인터 ptr은 i의 주소값을 가진다

여기서의 *는 포인터 변수를 선언할 때 쓴 것(새 포인터 변수를 선언할 때만 이렇게 씀)

 

//

 

ex)

위에 이어서

int i2 = *ptr;

 

뜻: i2는 ptr이 가리키는 주소의 변수 값을 가진다

여기서의 *는 ptr(주소)이 아닌 ptr이 가리키는 변수 i의 값을 가져오기 위해 쓴 것

 

//

 

ex)

위에 이어서

*ptr = 2;

 

뜻: ptr이 가리키는 변수 i의 값에 2를 대입한다

i = 2; 와 같다

*ptr은 i와 같다는 것

 

//

 

ex)

위에 이어서

int **ptr_ptr = &ptr_i;

 

뜻: ptr의 주소를 가리키는 변수 ptr_ptr

> ptr은 i의 주소를 가리킴

> ptr_ptr은 ptr의 주소를 가리킴

> *ptr_ptr은 i의 주소를 가리킴

> **ptr_ptr은 i를 가리킴