دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۵
  • اسفند

جلسه ۱۵ : اشاره گرها در C

  • دسته‌بندی‌ها :
جلسه ۱۵ : اشاره گرها در C
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با سلام خدمت تمامی دوستان عزیز سایت پی وی لرن .و کاربرانی که دوره کامل آموزش زبان C را دنبال می کنند. و کاربرانی که با سری آموزش های زبان C همراهمون هستند.از اونجایی که اشاره گرها در C بسیار مهمه این جلسه رو به آشنایی با اشاره گرها در C و نحوه بکارگیری و انواعی از آن مانند اشاره گر NULL می پردازیم.

      اشاره گرها در C

      اشاره گرها در C برای یادگیری آسان و سرگرم کننده هستند.برخی از کارهای برنامه نویسی C به راحتی با اشاره گرها انجام می شود و دیگر کارها مانند تخصیص حافظه پویا بدون استفاده از اشاره گر انجام نمی شود.بنابراین ضروری است که اشاره گرها کامل یاد  بگیرید تا تبدیل به یک برنامه نویس کامل C شوید. بیایید آنها را با مراحل ساده و آسان یاد بگیریم.

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

      مثال : 

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

      مثال : 

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

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

      مثال : 

      در اینجا، type نوع اشاره گر است و باید یکی از انواع داده معتبر در زبان C باشد. var-name نام متغیر اشاره گر است. علامت * همان علامتی است که برای ضرب استفاده می شود.با این حال، در این دستور ستاره برای تعریف یک متغیر به عنوان یک اشاره گر استفاده می شود.چند نمونه از اعلان های معتبر اشاره گر در زبان C:

      مثال : 

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

      نحوه استفاده از اشاره گرها

      چند عملیات مهم وجود دارد که اغلب با استفاده از اشاره گرها انجام می دهیم. (الف) ما یک متغیر اشاره گر را تعریف می کنیم، (ب) آدرس متغیر را به یک اشاره گر اختصاص دهیم و (پ) در نهایت به مقداری که در آدرس موجود در اشاره گر قرار دارد، دسترسی پیدا کنیم. این کار با استفاده از عملگر * انجام می شود که مقداری که در آدرس حافظه قرار دارد را برمیگرداند.

      به مثال زیر توجه نمایید

      مثال : 

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

      مثال : 

      اشاره گر NULL

      همیشه یکی از کار های خوب در هنگام استفاده از اشاره گرها، تخصیص مقدار NULL به آن ها می باشد. البته این کار زمانی که درست است که شما هیچ آدرس دقیق و معینی برای تخصیص به اشاره گر خود ندارید. اشاره گری که در زمان اعلام متغیر با NULL مقدار دهی شود اشاره گر NULL نامیده می شود. اشاره گر NULL یک ثابت است که در چندین کتابخانه استاندارد زبان C با مقدار صفر مشخص شده است.

      برنامه زیر را در در مورد اشاره گر NULL را در نظر بگیرید:

      مثال : 

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

      مثال : 

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

      برای چک کردن یک نشانگر صفر، می توانید از عبارت ‘if’ به صورت زیر استفاده کنید:

      مثال : 

      جزئیاتی بیشتر در مورد اشاره گرها

      اشاره گرها مفاهیم زیادی دارند و برای برنامه نویسی C بسیار مهم هستند. مفاهیم اشاره گرهای مهم که باید یک برنامه نویس بداند:
      ردیفمفاهیم و توضیحات
      ۱اشاره گر ریاضی

      چهارعملگر ریاضی در C وجود دارد که می توان در هنگام استفاده از اشاره گرها از آن ها استفاده کرد: ++، -، +، –

      ۲آرایه ای از اشاره گرها

      شما می توانید آرایه ها را برای نگهداری تعدادی اشاره گر ها تعریف کنید.

      ۳اشاره گر به اشاره گر

      C به شما اجازه می دهدکه اشاره گری برای اشاره به اشاره گر دیگر و غیره داشته باشید.

      ۴ارسال اشاره گر به تابع در C

      ارسال اشاره گر به عنوان آرگومان به یک تابع

      ۵بازگشت اشاره گر از تابع در C

      زبان C به توابع اجازه می دهد تا یک اشاره گر به متغیر محلی، متغیر استاتیک و حافظه اختصاص داده شده به صورت پویا را به عنوان خروجی تابع، بازگشت داده شود.

      کلام پایانی

      خوشحالیم ازاینکه در این مجموعه آموزشها همراه ما هستید.امیدوارم مفید واقع شده باشد. جلسه بعد را با رشته ها در C آغاز می کنیم.

      QR:  جلسه ۱۵ : اشاره گرها در C
      به اشتراک بگذارید