به قسمتی از برنامه که برنامه نویس می تواند در آن حوزه متغیرهای خود را تعریف یا اعلان کند، scope گفته میشود.
به طور کلی سه محدوده یا scope برای تعریف یا اعلان متغیر وجود دارد:
توابع و پارامترهای آنها را در فصل های بعدی به طور کامل توضیح خواهیم داد. در اینجا قصد داریم در مورد متغیرهای محلی و سراسری صحبت کنیم.
متغیر هایی که در داخل یک تابع یا یک حوزه اعلان میشوند متغیرهای محلی نامیده می شوند. این متغیر ها تنها در محدوده ای که تعریف شده اند (تابع یا محدوده) میتوانند استفاده شوند. متغیرهای محلی برای توابعی که خارج از آنها باشد قابل شناسایی نیستند. در اینجا مثالی برای استفاده از متغیرهای محلی درC++ خواهیم داشت:
#includeusing namespace std; int main () { // Local variable declaration: int a, b; int c; // actual initialization a = 10; b = 20; c = a + b; cout << c; return 0; }
C++
Copy
متغیرهای سراسری در خارج از تمام توابع و به طور معمول در بالای برنامه تعریف می شود و مقدار خود را در تمام مدت برنامه حفظ خواهند کرد.
یک متغیر سراسری می تواند توسط هر تابعی قابل دسترسی باشد. به عبارت دیگر برای استفاده در تمام مدت برنامه بعد از اعلان در دسترس است. در اینجا مثالی برای استفاده از متغیر سراسری و محلی در زبان C++ ارائه خواهیم داد:
#includeusing namespace std; // Global variable declaration: int g; int main () { // Local variable declaration: int a, b; // actual initialization a = 10; b = 20; g = a + b; cout << g; return 0; }
C++
Copy
یک برنامه می تواند نامی یکسان و مشابه برای متغیر سراسری ومحلی داشته باشد. اما در نظر داشته باشید که متغیر محلی به متغیر سراسری اولیت دارد. برای مثال:
#includeusing namespace std; // Global variable declaration: int g = 20; int main () { // Local variable declaration: int g = 10; cout << g; return 0; }
C++
Copy
پس از کامپایل و اجرای کد بالا نتیجه زیر نمایش داده خواهد شد.
10
وقتی که یک متغیر محلی تعریف می شود توسط سیستم مقداردهی اولیه نمی شود و باید خودتان آن را مقدارهی کنید. اما متغیرهای سراسری به طور خودکار توسط سیستم، زمانی که آنها را تعریف می کنید مقداردهی اولیه میشوند.
در جدول زیر مقدار پیش فرضی که یک متغیر سراسری بر اساس نوع داده ای خود می گیرد را آورده ایم:
نوع داده | مقدار پیش فرض |
---|---|
int | 0 |
char | '\0' |
float | 0 |
double | 0 |
pointer | NULL |
این یک تمرین خوب برای این است که متغیر ها را به درستی مقداردهی کنید. در غیر این صورت در برخی موارد برنامه ها می توانند نتایج غیرمنتظرهای را تولید کند.
از اینکه سایت برنامه نویسان را انتخاب کردید متشکریم با تشکر از سایت ilikephp.
آموزش برنامه نویسی قسمت چهاردهم
آموزش برنامه نویسی قسمت سیزدهم
آموزش برنامه نویسی قسمت دوازدهم
تابع ,یک ,a ,محدوده ,متغیر ,local ,local variable ,تابع یا ,یا اعلان ,تعریف یا ,محلی local ,محلی local variable
درباره این سایت