C, C++

더블 포인터란 무엇인가? (double point)

슬픈달 2019. 1. 23. 09:17
반응형

더블 포인터란 무엇인가?

 

말 그대로 포인터연산자인 * 표시가 2개 붙어 있는 것이다.

 

예를 들어 int **ptr;  이정도로 해두면 될것이다.

 

더블 포인터와 싱글 포인터 차이점...........??

 

싱글포인터는 해당 변수의 주소값을 지니고 있다.

 

또한 싱글 포인터 역시 포인터 변수이다.

 

그러므로 이 싱글 포인터 변수 역시 4byte의 메모리 공간을 할당받는다.

 

이 실글 포인터가 할달 받은 공간을 가르키는것이 더블 포인터이다.

 

즉 싱글 포인터의 주소값을 가지고 있는 것이다.

 

예를 들어

int val=1;

int *ptr1 = &val; -> 싱글 포인터

int **ptr2 = &ptr1; -> 더블 포인터

:: ptr1은 val의 주소값을 지니고 있고 ptr2는 ptr1의 주소값을 지니고 있는 것이다.

 

ptr2----------->ptr1----------->val

반응형

'C, C++' 카테고리의 다른 글

inet_addr, inet_ntoa  (0) 2019.01.23
static_cast, const_cast, reinterpret_cast  (0) 2019.01.23
클래스를 배열로(class - array)  (0) 2019.01.23
포인터와 const  (0) 2019.01.23
gcc의 undefined reference to '__gxx_personality_v0' 에러  (0) 2019.01.22