آرایه ای از اشاره گرها در زبان C++ – آموزش زبان C++

۱۳۹۷-۰۸-۲۴
آرایه ای از اشاره گرها در زبان C++ قبل از این که مبحث آرایه ای از اشاره گرها را شروع کنیم به مثال زیر که یک آرایه سه عنصری از نوع int دارد، توجه کنید: #include <iostream> using namespace std; const int MAX = 3; int main () { int var[MAX] = {10, 100, 200}; for (int i = 0; ...

cpp array of pointers 4414 آرایه ای از اشاره گرها در زبان C++   آموزش زبان C++

آرایه ای از اشاره گرها در زبان C++

قبل از این که مبحث آرایه ای از اشاره گرها را شروع کنیم به مثال زیر که یک آرایه سه عنصری از نوع int دارد، توجه کنید:

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

امتحان کنید

زمانی که کد بالا توسط کامپایلر زبان C++ اجرا شود، نتیجه زیر را تولید خواهد کرد:

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

ممکن است در برنامه نویسی وضعیتی پیش آید که بخواهیم، آرایه ای ایجاد کنیم بتواند اشاره گرها را در خود نگه دارد. در مواقع می توان به صورت زیر عمل کرد:

int *ptr[MAX];

دستور بالا آرایه ای به طول MAX برای نگه داری اشاره گرها ایجاد می کند. این شکل از آرایه به جای آن که مقادیر را در خود ذخیره کند، آدرس آن مقادیر را ذخیره می کند. مثال زیر نحوه تعریف و استفاده از یک آرایه ای از اشاره گرها را نشان می دهد:

#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]; // assign the address of integer.
   }
   for (int i = 0; i < MAX; i++) {
      cout << "Value of var[" << i << "] = ";
      cout << *ptr[i] << endl;
   }
   return 0;
}

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

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

شما همچننی می توانید یک آرایه از اشاره گرهایی از نوع کاراکتر برای ذخیره سازی رشته ها ایجاد کنید:

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

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

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++ – آموزش زبان C++ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.