متغیرهای محلی و جهانی
اغلب لازم است از متغیرهای اضافی استفاده شود که فقط در زیربرنامه استفاده می شوند. چنین متغیرهایی
local (یا محلی) نامیده می شوند و فقط می توانند در زیر برنامه ای که در آن ایجاد شده اند دستکاری شوند.
محدوده متغیر محلی بلوک پرانتزی مجعدی است که در آن اعلام شده است
برنامه اصلی در C++ نیز یک برنامه فرعی است، بنابراین همه متغیرهای اعلام شده در
main()
متغیرهای محلی هستند.
ساير برنامههاي فرعي چيزي درباره متغيرهاي محلي ساير برنامهها نميدانند.
بنابراین، می توان دامنه (حوزه) یک متغیر را فقط به زیربرنامه ای که واقعاً مورد نیاز است محدود کرد. در برنامه نویسی به این تکنیک
encapsulation - پنهان کردن یک متغیر از تغییر از خارج.
اگر لازم باشد متغیری را تعریف کنیم که در هر نقطه از برنامه (در هر زیربرنامه) قابل مشاهده باشد، چنین متغیرهایی خارج از همه زیربرنامه ها اعلام می شوند (برنامه 3 را از جدول زیر ببینید).
چنین متغیرهایی
جهانی نامیده می شوند.
در C++، هنگامی که برنامه شروع می شود، همه متغیرهای سراسری به طور خودکار روی صفر تنظیم می شوند (متغیرهای بولین مقدار false را دریافت می کنند
).
تجزیه و تحلیل سه برنامه:
<بدن>
1) در این برنامه متغیر i محلی است. یک متغیر محلی در یک زیربرنامه | اعلان می شود
2) در اینجا، حتی اگر یک متغیر i در برنامه اصلی (با مقدار 7) وجود داشته باشد، یک متغیر محلی جدید i با مقدار 5 ایجاد می شود.
وقتی این برنامه را اجرا می کنید، روی صفحه مقدار 75 | نمایش داده می شود
3) این برنامه دارای یک متغیر جهانی i است. مقدار آن را می توان در یک زیر روال و در داخل برنامه اصلی تغییر داد
رویه با متغیر سراسری i کار می کند و مقدار جدیدی برابر با 2 به آن اختصاص داده می شود. مقدار 2 | روی صفحه نمایش داده می شود.
آزمون خالی ()
{
int i = 5;
cout << من؛
}
|
آزمون خالی ()
{
int i = 5;
cout << من؛
}
main()
{
int i = 7;
cout << من؛
تست()؛
}
|
#include <iostream>
با استفاده از namespace std.
int i;
آزمون خالی ()
{
i = 2;
}
main()
{
تست()؛
cout << من؛
}
|