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 |