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

۱۳۹۷-۰۸-۱۲
اشاره گر به یک آرایه در زبان C++ به احتمال زیاد شما درک این بخش از آموزش برای شما دشوار خواهد، زیرا مربوط به مبحث اشاره گرها می شود که شما هنوز این مبحث را یاد نگرفته اید. نام آرایه، یک اشاره گر ثابت به آدرس اولین عنصر آرایه است. بنابراین اعلان زیر را در نظر بگیرید: double balance[50]; نام آرایه یعنی balance ...

cpp pointer to an array 4384 اشاره گر به یک آرایه در زبان C++   آموزش زبان C++

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

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

double balance[50];

نام آرایه یعنی balance به &balance[0] اشاره می کند که شامل آدرس اولین عنصر آرایه است. کد زیر آدرس اولین عنصر آرایه را در متغیر p قرار می دهد:

double *p;
double balance[10];
p = balance;

با توجه به کد بالا، استفاده از نام آرایه به عنوان اشاره گر ثابت کاملا درست و منطقی است. بنابراین *(balance + 4) مشابه balance[4] است.

مثال زیر یک نمونه از تمام موارد گفته شده فوق می باشد.

#include <iostream>
using namespace std;
int main () {
   // an array with 5 elements.
   double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};
   double *p;
   p = balance;
   // output each array element's value 
   cout << "Array values using pointer " << endl;
   for ( int i = 0; i < 5; i++ ) {
      cout << "*(p + " << i << ") : ";
      cout << *(p + i) << endl;
   }
   cout << "Array values using balance as address " << endl;
   for ( int i = 0; i < 5; i++ ) {
      cout << "*(balance + " << i << ") : ";
      cout << *(balance + i) << endl;
   }
   return 0;
}

امتحان کنید

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

Array values using pointer
*(p + 0) : 1000
*(p + 1) : 2
*(p + 2) : 3.4
*(p + 3) : 17
*(p + 4) : 50
Array values using balance as address
*(balance + 0) : 1000
*(balance + 1) : 2
*(balance + 2) : 3.4
*(balance + 3) : 17
*(balance + 4) : 50

در مثال بالا، p یک اشاره گر به double است. مفهوم این جمله آن است p که می تواند آدرس یک متغیر از نوع double را در خود ذخیره کند. متغیر p که از نوع اشاره گر است، برای ذخیره سازی آدرس حافظه یک متغیر استفاده می شود و به منظور دسترسی به مقداری که در این آدرس ذخیره شده است، می توان از *p استفاده کنید.

نوشته اشاره گر به یک آرایه در زبان C++ – آموزش زبان C++ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.