خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش زبان C : کلاس های حافظه (Storage Classes)

آموزش زبان C : کلاس های حافظه (Storage Classes)
نویسنده : امیر انصاری
یک کلاس حافظه (Storage Class) محدوده متغیر (scope) و همین طور طول عمر (life-time) آن را مشخص می کند. در زبان برنامه نویسی C چهار نوع مختلف کلاس حافظه (Storage Class) وجود دارد که در این آموزش به آنها خواهیم پرداخت :

نرم افزار سامانه مودیان راهکار



  • auto
  • register
  • static
  • extern

کلاس حافظه auto


کلاس حافظه auto کلاس حافظه پیش فرض، تمامی متغیرهای محلی می باشد.

{
int mount;
auto int month;
}

در مثال بالا دو متغیر معرفی شده اند که هر دو از کلاس حافظه auto برخوردار هستند.

کلاس حافظه register


کلاس حافظه register به جای ذخیره سازی در RAM کامپیوتر، مستقیما در CPU ذخیره می شود. سرعت دسترسی به این متغیرها به دلیل اینکه در CPU هستند بسیار بالا می باشد. اما با توجه به محدودیت حافظه CPU تضمینی وجود ندارد که متغیر شما مستقیما در CPU ذخیره شود، بلکه در صورتی که در CPU فضای آزادی باشد در آنجا ذخیره خواهد شد.

{
register int miles;
}

کلاس حافظه static


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

#include "stdio.h"

void func(void);

static int count = 5;

int main() {

while (count--){
func();
}

getchar();
return 0;
}

void func(void){
static int i = 5;
i ++;
printf("i is %d and count is %d\n", i, count);
}

آموزش زبان C : کلاس های حافظه (Storage Classes)

کلاس حافظه extern


کلاس حافظه extern در مواقعی که می خواهید یک متغیر را در فایلی خروجی معرفی کنید، کاربرد خواهد داشت.

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


آموزش قبلی : آموزش زبان C : صرفنظر کردن از مراحل حلقه با دستور Continue

آموزش بعدی : آموزش زبان C : معرفی آرایه (Array Declaration)



نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.