Programming🧑‍💻/Cpp

이중 포인터

생각 깎는 아이 2025. 2. 1. 12:24

 

포인터는 일반적으로 다른 변수의 메모리 주소값을 저장하는 데 사용됩니다.

하지만 때로는 포인터 자체의 메모리 주소를 저장해야 할 필요가 있습니다.

이럴 때 포인터의 포인터(이중 포인터)를 사용합니다.

int x = 10;          // 변수 x (값: 10)
int* p = &x;         // 포인터 p는 x의 메모리 주소를 저장
int** q = &p;        // 이중 포인터 q는 포인터 p의 메모리 주소를 저장
int*** r = &r;

만약 변수 x가 메모리 주소 220번지에 있고, 포인터 p가 209번지에 있다면:

  • p는 x의 주소인 220을 저장
  • q는 p의 주소인 209를 저장
  • r은 q의 주소인 199를 저장 

이렇게 포인터의 포인터를 사용하면 포인터 자체의 메모리 주소를 참조하고 관리할 수 있습니다.