check home phone-call search send

استفاده از اشاره گرها در سی پلاس پلاس

معمولا خیلی از کسانی که در ابتدای شروع کار با زبان سی پلاس پلاس هستند در مورد نحوه استفاده از اشاره گرها در سی پلاس پلاس دچار مشکل میشوند و در مورد اشاره گرها در سی پلاس پلاس به شدت سوال میپرسند. در این مطلب سعی میکنیم در قالب یک سورس کد شما رو بیشتر با اشاره گرها در سی پلاس پلاس آشنا کنیم.  پیشنهاد میکنم حتما از این سورس کدها در جهت آموزش سی پلاس پلاس استفاده کنید. 

استفاده از اشاره گرها در سی پلاس پلاس

اشاره‌گر چیست ؟

در فرهنگ علوم رایانه متغیرهای از نوع اشاره‌گر (به انگلیسی: Pointer)، به متغیرهایی گفته می‌شود که محتوای آن ها، آدرس خانه‌ای از حافظه یا نیل است. در عمل، اشاره‌گر متغیری است که به متغیر دیگری اشاره می‌کند.

اشاره‌گرها از پرکاربردترین نوع متغیرها در زبان‌های برنامه‌سازی محسوب می‌شوند. این امر به این علت است که اشاره‌گرها، گاهی اوقات تنها راه بیان محاسبه‌ای مشخص هستند و بخشی دیگر به این علت است که معمولاً باعث فشردگی و کارائی بیشتر قطعه برنامه‌ها نسبت به ایجاد آنها با روش‌های دیگر می‌شود.

اشاره گرها در سی پلاس پلاس

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

برای اعلان یک اشاره گر از نحو زیر استفاده میکنیم:

type* pointername 

نکته ها:

  • یک اشاره گر یک متغییر مستقل است.
  • وقتی میگوییم pn به n اشاره میکند یعنی درون pn آدرس n قرار دارد.
  • با استفاده از * میتوان مقداری که به آن اشاره دارد را بدست آورد.به این کار مقداریابی اشاره گر میگوییم.
  • یک اشاره گر به هر چیزی میتواند اشاره کند،حتی به یک اشاره گر دیگر.که در کد زیر ppn به pn اشاره میکند.
  • در کد زیر گرچه pn و ppn هر دو اشاره گر هستند اما از یک نوع نیستند.pn از نوع *int و است و ppn از نوع **int است.
  • عملگر مقداریابی * و عملگر ارجاع & معکوس یکدیگر عمل میکنند اگر این دو را باهم ترکیب کنیم یکدیگر را خنثی میکنند.
#include<iostream>
#include<conio.h>
using namespace std;
main()
{
      int n=10;
      int* pn=&n;
      int** ppn=&pn;
      float* a;
      cout<<"n="<<n<<endl;
      cout<<"&n="<<&n<<endl;
      cout<<"pn="<<pn<<endl;
      cout<<"&pn="<<&pn<<endl;
      cout<<"*pn="<<*pn<<endl;
      cout<<"ppn="<<ppn<<endl;
      cout<<"&ppn="<<&ppn<<endl;
      cout<<"**ppn="<<**ppn;
      getch();
      return 0;
      }
      
      //>   sourceiran.com
Avatar
پشتیبان سورس ایران 2180 مطلب منتشر شده

در مجموعه سورس ایران سعی می کنیم علاوه بر آموزش برنامه نویسی، به مسائل مرتبط و مهارت های نرم بپردازیم تا بعدهای مختلف را پوشش دهیم.

دیدگاه کاربران

تعداد دیدگاه های کاربران : ۰ دیدگاه
هنوز دیدگاهی ارسال نشده است.


شما با موفقیت در خبرنامه ما عضو شدید