C ++ Array 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