معمولا خیلی از کسانی که در ابتدای شروع کار با زبان سی پلاس پلاس هستند در مورد نحوه استفاده از اشاره گرها در سی پلاس پلاس دچار مشکل میشوند و در مورد اشاره گرها در سی پلاس پلاس به شدت سوال میپرسند. در این مطلب سعی میکنیم در قالب یک سورس کد شما رو بیشتر با اشاره گرها در سی پلاس پلاس آشنا کنیم. پیشنهاد میکنم حتما از این سورس کدها در جهت آموزش سی پلاس پلاس استفاده کنید.
اشارهگر چیست ؟
در فرهنگ علوم رایانه متغیرهای از نوع اشارهگر (به انگلیسی: 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
دیدگاه کاربران
تعداد دیدگاه های کاربران : ۰ دیدگاه