بنام خدا .
سلام خدمت دوستان گرامی.
پنجمین جلسه آموزش زبان برنامه نویسی C++ رو با مبحث تعریف و دسترسی به متغییرها ادامه میدیم. کلا حوزه تعریف متغییرها در این زبان سه جاست :
1- داخل یک بلاک, مثل تابع یا هربلاکی مثل حلقه ها و بلاکهای شرطی و غیره.
2- تعریف به عنوان پارامتر یک تابع.
3- تعریف سراسری و خارج از تمام توابع و بلاکها.
نوع اول رو متغییرهای محلی مینامیم و نوع دوم رو پارامتر و درنهایت نوع دوم رو متغییرهای سراسری یا global مینامیم.
متغییرهای محلی یا local variables :
همون طور که از اسم و مکان تعریفشون پیداست, فقط داخل بلاک یا تابعی که تعریف شدن قابل دسترسی و شناخته شده هستن. توابع و بلاکهای دیگه خبری ازش ندارن.
به مثال زیر توجه کنید :
#include <iostream>
using namespace std;
int main ()
{
// تعریف متغییر محلی داخل تابع main
int a, b;
int c;
// مقدار دهی و تغییر و استفاده از این متغییرها
a = 10;
b = 20;
c = a + b;
cout << c;
return 0;
}
متغییرهای سراسری یا Global Variables :
متغییری که خارج از توابع و معمولا داخل متن اصلی برنامه تعریف میشه . متغییرهای سراری میگیم. داخل کلا توابع و بلاکها دیده میشن و میشه اونها رو تغییر داد و ازشون استفاده کرد. چرخه عملکرد محتوی این متغییرها با اجرای برنامه شروع میشه و با اتمام اون تموم میشه. هرتغییری در هربخشی به تمام بخشها اعمال میشه.
#include <iostream>
using namespace std;
// تعریف متغییر سراسری خارج از تمام توابع
int g;
int main ()
{
// تعریف متغیر محلی
int a, b;
// درسترسی و تغییر متغییرهای محلی و سراسری
a = 10;
b = 20;
g = a + b;
cout << g;
return 0;
}
نکته : اگر یک متغییر محلی هم نام یک متغییر سراسری تعریف بشه داخل محدوده تابع متغییر محلی در اولویت قرار داره و در واقع شما دارین با متغییر محلی کار میکنین.
#include <iostream>
using namespace std;
// تعریف یک متغییر سراسری
int g = 20;
int main ()
{
// تعریف متغییر محلی هم نام متغییر سراسری
int g = 10;
cout << g;
//با چاپ متغییر محتوایی که در متغییر محلی قرار داره چاپ میشه یعنی عدد 10 چاپ میشه
return 0;
}
نکته : زمانی که یک متغییر محلی رو تعریف میکنین باید اون رو مقدار دهی اولیه کنین چراکه سیستم برای متغییر های محلی این کار رو انجام نمیده .
.
int a = 10;
float f = 18.5;
char c= ‘\n’;
تا جلسه بعد در پناه حق...