Latest web development tutorials

C ++ Array pointer

C ++ pointer C ++ pointer

Sebelum kita menjelaskan konsep sebuah array dari pointer, mari kita lihat contoh yang menggunakan sebuah array dari tiga bilangan bulat:

#include <iostream>
 
using namespace std;
const int MAX = 3;
 
int main ()
{
   int  var[MAX] = {10, 100, 200};
 
   for (int i = 0; i < MAX; i++)
   {
      cout << "Value of var[" << i << "] = ";
      cout << var[i] << endl;
   }
   return 0;
}

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

Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200

Mungkin ada kasus, kita ingin membuat sebuah array dari titik penyimpanan ke int atau arang atau tipe data pointer lainnya. Berikut ini adalah pernyataan pointer menunjuk ke array bilangan bulat:

int *ptr[MAX];

Di sini,ptr dinyatakan sebagai array dari pointer ke bilangan bulat oleh MAX.Dengan demikian, ptr setiap elemen adalah pointer ke int nilai. Contoh berikut ini menggunakan tiga bilangan bulat, mereka akan disimpan dalam sebuah array dari pointer, sebagai berikut:

#include <iostream>
 
using namespace std;
const int MAX = 3;
 
int main ()
{
   int  var[MAX] = {10, 100, 200};
   int *ptr[MAX];
 
   for (int i = 0; i < MAX; i++)
   {
      ptr[i] = &var[i]; // 赋值为整数的地址
   }
   for (int i = 0; i < MAX; i++)
   {
      cout << "Value of var[" << i << "] = ";
      cout << *ptr[i] << endl;
   }
   return 0;
}

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

Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200

Anda juga dapat menggunakan pointer ke array karakter untuk menyimpan daftar string, sebagai berikut:

#include <iostream>
 
using namespace std;
const int MAX = 4;
 
int main ()
{
 const char *names[MAX] = {
                   "Zara Ali",
                   "Hina Ali",
                   "Nuha Ali",
                   "Sara Ali",
   };

   for (int i = 0; i < MAX; i++)
   {
      cout << "Value of names[" << i << "] = ";
      cout << names[i] << endl;
   }
   return 0;
}

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

Value of names[0] = Zara Ali
Value of names[1] = Hina Ali
Value of names[2] = Nuha Ali
Value of names[3] = Sara Ali

C ++ pointer C ++ pointer