عندما نعرف اي متغير
1- إما نعرف المتغير خارج أي فنكشن = global
2- أو نعرف المتغير داخل الفنكشن = local
الـ global يعني ان المتغير متغير عام , يقدر اي فنكشن يتعامل معاه الـ main وغيرها من الفنكشنات الموجوده داخل البرنامج
أما فكرة الـ local هي أننا نعرف متغيرات داخل الفنكشن كمثال الـ main هذا الفنكشن هو اللي يتعامل مع متغيراته فقط
أما اي فنكشن آخرى " أي غير الـ main في مثالنا هنا " ماتقدر توصل لها وتتعامل معاها
فلو عرفنا المتغيرات قلوبل , فنقدر نتعامل معاها هالمتغيرات بدون ما يطلع لنا error
كمثال
#include <iostream> using namespace std; int z = 0 ; // global .. void fun () { int a = 5 ; // local ..
z = a + z ;
cout<< z <<endl;
} int main ()
{
int a=2; // local ..
a = a + 3;
z = a -1; cout<< z <<endl; fun ();
return 0;
}
z = a + z ;
cout<< z <<endl;
} int main ()
{
int a=2; // local ..
a = a + 3;
z = a -1; cout<< z <<endl; fun ();
return 0;
}
--------------------------------
output : 4
9
9
هنا الـ z عرفناه قلوبل يعني فنكشن fun و الـ main يقدروا يتعاملوا مع هالمتغير ويغيروا الاثنين من قيمتها
أما الـ a عرفناها مرتين من نوع local وحده داخل المين والثانيه داخل فنكشن fun .. وكل واحد يتعامل مع متغير الـ a كمتغير خاص فيه ومختلف تماما عن الآخر حتى لو كان نفس الأسم , لانه local مايتطلع عليه الا الفنكشن المعرف فيه