المپیاد کامپیوتر

ترکیبیات,برنامه نویسی,گراف,الگوریتم , و کلا کامپیوتر

المپیاد کامپیوتر

ترکیبیات,برنامه نویسی,گراف,الگوریتم , و کلا کامپیوتر

المپیاد کامپیوتر

اشاره گر ها (pointers)

سه شنبه, ۷ خرداد ۱۳۹۲، ۰۸:۲۹ ب.ظ

به نام خدا

سلام امروز یکم کد می خونیم.

قرارم هست که در مورد اشاره گر ها بحث کنیم.

بریم که شروع کنیم...

آدرس و اشاره گر :
هر متغیری که تعریف می کنید یک حافظه به آن اختصاص داده می شود. این حافظه بخشی از حافظه اصلی (RAM) می باشد که دارای یک آدرس نیز هست.
هر مقداری که در این متغیر قرار دهید ، در این حافظه قرار می گیرد ؛ برای مثال :
;int    a
این تعریف باعث می شود که یک حافظه دو بایتی برای a اختصاص پیدا کند.
 

هر متغیری یک آدرس اصلی در حافظه دارد. عملگر & آدرس یک متغیر را نشان می دهد.

چنانچه این عملگر را قبل از نام متغیر قید کنید ، آدرس آن متغیر بدست می آید ؛ به عنوان مثال :

اگر متغیری با نام x وجود داشته یاشد ، آدرس آن برابر با x& می باشد.



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

هر اشاره گر می تواند آدرس یک متغیر را داشته باشد.

و از طریق آن اشاره گر می توان به محتویات آن متغیر دسترسی پیدا کرد.


برای هر نوع داده بایستی اشاره گری مربوط به آن نوع داده را تعریف کرد.
به تعریف کلی اشاره گر دقّت نمایید:


; نام اشاره گر *                نوع داده

  ;int    *a
در تعریف فوق یک اشاره گر به نوع داده ی int تعریف شده است.
پس x آدرس یک متغیر از نوع داده ی صحیح است و x* محتوای آن آدرس را نشان می دهد که از نوع عدد صحیح می باشد.
 به این نمونه دقت کنید :
همان طور که مشاهده می کنید ، a یک متغیّر و b یک اشاره گر از همان نوع است.
a با مقدار 10 ، مقدار دهی شده است.
در خطّ سوم آدرس متغیر a در b قرار گرفته ؛
حال b* دارای مقدار قرار گرفته در آدرس b (آدرس a&) می باشد که همان مقدار متغیر a ، یعنی عدد 10 می باشد.
بنا براین خروجی این برنامه همان عدد 10 است.

پیروز و سربلند.
خدا نگهدار.

int a,*b;
a=10;
b=&a;
cout<<" *b = "<<(*b)<<endl;
return 0;
  • موافقین ۲ مخالفین ۰
  • ۹۲/۰۳/۰۷
  • ۲۲۰۹ نمایش
  • سامان دهستانی

pointer

pointers

اشاره گر ها

اشاره گر

نظرات (۳)

احسنت!
پاسخ:
ممنون.
اگه نظری برای بهبود کیفیت مطالب داری ، حتما ذکر کن؛ خوش حال می شم.)
(:
سلام

اگه زحمتی نیس هر روز کد یه سوال از کدفرسی ، چیزی بزارین!
البته به درد بخوراش را!
منظورم اوناییه که م3 ای اند

دیگه هم این که موفق باشید!
پاسخ:
سلام
هروز که فکر نکنم بتونیم بذاریم ولی سعی می کنیم که چندتا از خوبا شو بذاریم.
ممنون
سلام سامان عالی بود راستی میتونی مطالبی درموزد ریب کردن قالب سایت ها بذاری ممنون
پاسخ:
محمدصادق:
دانا جان وبسایت المپیاد کامپیوتره نه طراحی وب.
فکر نمی کنم سامان طراحی وب بلد باشه.
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی