간접 포인터의 다단 형의 포인터가 주소 지정, 또는 포인터의 체인이다. 일반적으로 포인터 변수의 주소를 포함합니다. 우리는 포인터의 포인터를 정의하는 경우 첫 번째 포인터는 포인터의 주소, 실제 위치 값을 상기 제 포인터를 포함한다.
목표 값은 포인터의 값에 액세스하는 간접 다른 포인터를 가리키는 경우 다음의 예와 같이, 두개의 별표 연산자 필요
#include <iostream>
using namespace std;
int main ()
{
int var;
int *ptr;
int **pptr;
var = 3000;
// 获取 var 的地址
ptr = &var;
// 使用运算符 & 获取 ptr 的地址
pptr = &ptr;
// 使用 pptr 获取值
cout << "var 值为 :" << var << endl;
cout << "*ptr 值为:" << *ptr << endl;
cout << "**pptr 值为:" << **pptr << endl;
cout << "var 地址为 :" << &var << endl;
cout << "ptr=&var 值为var的地址:" << ptr << endl;
cout << "ptr地址为:" << &ptr << endl;
cout << "*pptr=ptr=&var 值为var的地址:" << *pptr << endl;
cout << "pptr 地址为:" << &pptr << endl;
return 0;
}
위의 코드를 컴파일하고 실행되면 다음과 같은 결과를
var 值为 :3000
*ptr 值为:3000
**pptr 值为:3000
var 地址为 :0x7ffeec7a65e8
ptr=&var 值为var的地址:0x7ffeec7a65e8
ptr地址为:0x7ffeec7a65e0
*pptr=ptr=&var 值为var的地址:0x7ffeec7a65e8
pptr 地址为:0x7ffeec7a65d8
참고 기사 : https://www.runoob.com/cplusplus/cpp-pointer-to-pointer.html