حوزه تعریف متغییرها در ++c
1395/04/24

معرفی زبان ++C
1395/01/19

حوزه تعریف متغییرها در ++c


ناصر نادری 1395/04/24

بنام خدا .

سلام خدمت دوستان گرامی. پنجمین جلسه آموزش زبان برنامه نویسی 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’;

تا جلسه بعد در پناه حق...

فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد
درباره نویسنده
admin
ناصر نادری
prgnaderi@hotmail.com
فوق لیسانس مهندسی نرافزار- برنامه نویس و مدرس دانشگاه
نظرات شما
نظر جدید