آموزش C

مباحث پایه زبان C

حوزه متغیرها در زبان C – آموزش زبان C

  • چهارشنبه ۲۸ شهریور ۱۳۹۷
  • بازدید ۳,۰۸۹ نفر

تصویر c-scope-rules_4064 حوزه متغیرها در زبان C - آموزش زبان C

حوزه متغیرها در زبان C

حوزه (Scope) یک منطقه از برنامه می باشد، در کل متغیرها را می توان در سه حوزه زیر تعریف کرد:

  • داخل یک تابع یا یک بلوک (متغیرهای محلی)
  • به عنوان پارامترهای یک تابع (پارامترهای رسمی)
  • خارج از تمام توابع و حوزه ها (متغیرهای سراسری)

متغیرهای محلی (Local Variables)

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

در مثال زیر متغیرهای a، b و c به عنوان متغیرهای محلی تعریف شده اند:

امتحان کنید

متغیرهای سراسری (Global Variables)

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

در مثال زیر متغیرهای a و b به عنوان متغیرهای محلی و متغیر g به عنوان متغیر سراسری تعریف شده اند:

امتحان کنید

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

مثلا:

امتحان کنید

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

پارامترها

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

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

امتحان کنید

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

مقداردهی اولیه به متغیرهای محلی و سراسری

هنگام تعریف یک متغیر سراسری اگه به آن مقداری اختصاص نیابد، سیستم به طور خودکار مقدار پیش فرض نوع متغیر را به آن اختصاص می دهد. اما متغیرهای محلی هنگام تعریف شدن توسط سیستم مقداردهی اولیه نمی شوند.

در جدول زیر مقادیر پیش فرض برای انواع داده اصلی در زبان C را مشاهده می کنید:

نوع دادهمقدار پیش فرض
int0
char‘\0’
float0
double0
pointerNULL

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

 

باکس دانلود
ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است