Latest web development tutorials

C ++ pointer ke pointer (multilevel tidak langsung menangani)

C ++ pointer C ++ pointer

pointer adalah pointer ke bentuk multi-tahap tidak langsung menangani, atau rantai pointer. Biasanya, pointer berisi alamat dari variabel. Ketika kita mendefinisikan pointer ke pointer, pointer pertama berisi alamat pointer kedua, pointer kedua berisi lokasi dari nilai yang sebenarnya.

C ++, pointer ke pointer

Sebuah pointer ke variabel pointer harus dinyatakan sebagai berikut, yaitu menempatkan dua tanda bintang di depan nama variabel. Misalnya, berikut ini menyatakan pointer ke pointer int pointer:

int **var;

Ketika target adalah pointer ke pointer lain secara tidak langsung poin untuk mengakses nilai ini memerlukan penggunaan operator dua tanda bintang, seperti yang ditunjukkan dalam contoh berikut:

#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;
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Value of var = 3000
Value available at *ptr = 3000
Value available at **pptr = 3000

C ++ pointer C ++ pointer