ポインタにC ++のポインタ(マルチレベルの間接アドレス指定)
ポインタは、間接の多段形のポインタがアドレス指定であるか、ポインタチェーンです。 一般的に、ポインタは変数のアドレスが含まれています。 私たちは、ポインタへのポインタを定義するときは、最初のポインタは第2のポインタのアドレスを含む、第2のポインタは、実際の値の位置が含まれています。
すなわち、変数名の前に2つのアスタリスクを配置し、以下のようにポインタ変数へのポインタを宣言する必要があります。 たとえば、次の例では、int型のポインタのポインタへのポインタを宣言します。
int **var;
ターゲットを間接的にポイントがこの値にアクセスする別のポインタへのポインタである場合、以下の例に示すように、2つのアスタリスク演算子の使用を必要とします。
#include <iostream> using namespace std; int main () { int var; int *ptr; int **pptr; var = 3000; // 获取 var 的地址 ptr = &var; // 使用运算符 & 获取 ptr 的地址 pptr = &ptr; // 使用 pptr 获取值 cout << "Value of var :" << var << endl; cout << "Value available at *ptr :" << *ptr << endl; cout << "Value available at **pptr :" << **pptr << endl; return 0; }
上記のコードはコンパイルされ、実行されると、次の結果を生成します。
Value of var = 3000 Value available at *ptr = 3000 Value available at **pptr = 3000