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



  • ۲۵
  • اسفند

جلسه ۰۸ : کلاس ذخیره سازی در C

  • دسته‌بندی‌ها :
جلسه ۰۸ : کلاس ذخیره سازی در C
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با سلام خدمت تمامی دوستان عزیز سایت پی وی لرن .و کاربرانی که دوره کامل آموزش زبان C را دنبال می کنند. در این مجموعه آموزشها قصد داریم آموزش برنامه نویسی به زبان C رو تقدیم حضورتون کنیم. ادامه می دهیم سری آموزشهای زبان سی را با بررسی انواع کلاس های ذخیره سازی در C از جمله کلاس ذخیره استاتیک static در C و کامپایل و اجرای برنامه در C .

      کلاس های ذخیره سازی در C

      کلاس های ذخیره سازی در C دامنه (میدان) و عمر متغیرها و / یا توابع در یک برنامه C را تعریف می کند. آنها مقدمند بر انوعی که تغییر می کنند. ما چهار کلاس ذخیره سازی مختلف در برنامه C داریم .

      auto
      register
      static
      extern

      کلاس ذخیره سازی خودکار-auto

      کلاس ذخیره سازی خودکار کلاس پیش فرض ذخیره سازی برای همه متغیرهای محلی است.

      مثال : 

      مثال فوق دو متغیر را در کلاس ذخیره سازی مشابه تعریف می کند. ‘auto’ تنها می تواند در داخل توابع، یعنی متغیرهای محلی استفاده شود.

      کلاس ذخیره register یا ثبات

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

      در واقع این به این معنی است که متغیر دارای حداکثر اندازه برابر با اندازه register (معمولا یک کلمه است) می باشد.

      همچنین نمی تواند اپراتور “&” را به آن اعمال کرد (همانطور که محل حافظه ندارد).

      مثال : 

      register باید فقط برای متغیرهایی که نیاز به دسترسی سریع دارد مورد استفاده قرار گیرد.مانند شمارنده .

      لازم به ذکر است که تعریف «register » به این معنا نیست که متغیر در یک register ذخیره می شود.

      در واقع این بدان معنی است که متغیر می تواند در یک register بسته به سخت افزار ذخیره شود.

      کلاس ذخیره استاتیک static در C

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

      مثال : 

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

       کلاس ذخیره سازی خارجی extern

      کلاس ذخیره سازی خارجی برای ارجاع به یک متغیر عمومی که برای همه فایل های برنامه قابل مشاهده است استفاده می شود.
      با استفاده از ‘extern’، متغیر نمی تواند مقداردهی اولیه شود.
      اما توجه کنید که نام متغیر را در یک مکان ذخیره سازی که قبلا تعریف شده است نشان می دهد.
      هنگامی که شما چندین فایل دارید و یک متغیر یا عملکرد عمومی یا کلی را تعریف می کنید که در سایر فایل ها نیز استفاده می شود، آن وقت extern در فایل دیگری برای ارائه مرجع متغیر یا تابع تعریف شده استفاده می شود. برای درک بهتر، extern مورد استفاده قرار می گیرد تا یک متغیر یا عملکرد عمومی را در یک فایل دیگر اعلام کند.
      اصلاح کننده extern اغلب زمانی که دو یا چند فایل با هم در یک متغیر یا توابع مشابه مشترکند مورد استفاده قرار می گیرد . در زیر توضیح داده شده است.
      مثال : 

      دومین پرونده: support.c

      مثال : 

      در اینجا، extern برای اعلان شمارش در فایل دوم استفاده می شود.جایی که تعریف آن در فایل اول، main.c است در حال حاضر، این دو فایل را به صورت زیر کامپایل کنید.
      مثال : 

      برنامه اجرایی a.out را تولید می کند. هنگامی که این برنامه اجرا می شود، نتیجه ی زیر را تولید می کند.
      مثال : 

      کلام پایانی

      خوشحالیم ازاینکه در این مجموعه آموزشها همراه ما هستید. کلاس های ذخیره سازی در C و auto ,register و exterk را مطالعه نمودیم.در جلسه بعد به بیان اپراتورها در C خواهیم پرداخت.

      QR:  جلسه ۰۸ : کلاس ذخیره سازی در C
      به اشتراک بگذارید