C++ 문법

<포인터> void 타입, 이중 포인터

슬뷔 2022. 4. 11. 14:35
void 타입

void : 타입이 없다는 의미이다.
일반 void 타입은 변수 선언시에는 사용할 수 없다.
void는 포인터 타입을 선언하여 사용이 가능하다.
void포인터를 선언하면 타입이 없는 포인터가 선언되어 어떤 변수타입의 메모리 주소라도 다 저장이 가능하다.
단, 반쪽짜리 만능이다. 왜냐하면 역참조가 불가능하다.
그래서 저장된 주소로 역참조를 하기 위해서는 형변환을 통해 접근해야 한다.

 

 

이중 포인터

이중포인터 : 포인터의 포인터이다.
일반 포인터가 일반 변수의 메모리 주소를 저장하기 위한 변수라면 이중포인터는 포인터 변수의 메모리 주소를 저장하기 위한 변수이다.

삼중포인터 : 이중 포인터 변수의 메모리 주소를 저장하기 위한 변수이다.

ppNumber는 pNumber5의 주소를 가지고 있으므로,

역참조를 하면 pNumber5가 가지고 있는 메모리 주소를 변경할 수 있다.
여기서는 pNumber5가 Number1의 메모리 주소를 가지고 있었는데 Number2의 주소를 가질 수 있도록 변경한 것이다.

'C++ 문법' 카테고리의 다른 글

구조체 struct, 레퍼런스  (0) 2022.04.11
동적할당, 메모리 릭  (0) 2022.04.11
<포인터> 연산 / const  (0) 2022.04.09
<포인터>  (0) 2022.04.08
<배열> Array  (0) 2022.04.08