آموزش مقدماتی C++ | اشاره گر ها

اشاره گر

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

string food = "Pizza";  // متغیر food از نوع string

cout <<  food;  // خروجی = مقدار متغیر food (Pizza)
cout << &food; // آدرس حافظه متغیر food (0x6dfed4)

از سمت دیگر، نوعی از داده به نام اشاره گر داریم. اشاره گر، متغیری است که مقدار این آدرس را در خود نگه می دارد.

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

string food = "Pizza"; 
string* ptr =  &food;    // متغیر اشاره گر که آدرس متغیر food را در خود نگه میدارد

//چاپ مقدار متغیر food
cout << food << "\n";

// چاپ آدرس متغیر food (0x6dfed4)
cout << &food << "\n";

//  چاپ آدرس متغیر food با استفاده از اشاره گر (0x6dfed4)
cout <<  ptr << "\n";

توضیح مثال بالا

یک متغیر اشاره گر با نام ptr داریم، که به یک متغیر string اشاره دارد،(string* ptr). توجه داشته باشید که نوع داده  اشاره گر باید با نوع متغیر مورد نظر یکی باشد.

با استفاده از عملگر & آدرس حافظه ی متغیر food، را به دست آورده و مقدار آن را به اشاره گر واگذار می کنیم.

اکنون متغیرptr آدرس حافظه متغیر food را در خود دارد.

سه روش برای تعریف متغیر اشاره گر وجود دارد ولی روش اول بیشتر توصیه می شود:

string* mystring; // این روش توصیه می شود
string *mystring;
string * mystring;
پرسش و پاسخ این درس

برای ثبت پرسش ابتدا در سایت وارد شوید.

  • 1
  • 2
  • 3