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

  • جمعه ۹ شهریور ۱۳۹۷
  • بازدید ۸۹ نفر

cpp variable scope 3675 حوزه متغیرها در زبان C++   آموزش زبان C++

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

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

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

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

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

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

مثال زیر نحوه استفاده از متغیرهای محلی در زبان C++ را نشان می دهد:

امتحان کنید

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

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

مثال زیر نحوه استفاده از متغیرهای سراسری در زبان C++ را نشان می دهد:

امتحان کنید

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

امتحان کنید

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

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

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

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

نوع دادهمقدار پیش فرض
int۰
char‘\۰’
float۰
double۰
pointerNULL

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

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

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