학습 : C ++ 포인터를 포인터로 (다단계 간접 주소)

간접 포인터의 다단 형의 포인터가 주소 지정, 또는 포인터의 체인이다. 일반적으로 포인터 변수의 주소를 포함합니다. 우리는 포인터의 포인터를 정의하는 경우 첫 번째 포인터는 포인터의 주소, 실제 위치 값을 상기 제 포인터를 포함한다.

목표 값은 포인터의 값에 액세스하는 간접 다른 포인터를 가리키는 경우 다음의 예와 같이, 두개의 별표 연산자 필요

#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

추천

출처www.cnblogs.com/zpchcbd/p/11881359.html