freeCodeCamp/guide/arabic/cplusplus/tokens-variables/static-variable-info/index.md

6.6 KiB

title localeTitle
Variables المتغيرات

دعونا نناقش شيء يعرف كمتغيرات. المتغيرات هي بمثابة دلو. يمكنك وضع شيء فيه ثم تغييره بعد ذلك عند الحاجة. في C ++ ، هناك العديد من أنواع المتغيرات مثل الأعداد الصحيحة ، السلاسل ، Booleans وغيرها الكثير. دعونا ننظر إلى برنامج بسيط باستخدام المتغيرات الصحيحة. تخزن أعداد صحيحة الأعداد الصحيحة التي تكون موجبة أو سالبة أو صفر. الأرقام الكاملة ليست أرقام كسور على سبيل المثال 1/2 و 1/4 و 1/5. دعونا ننظر إلى برنامج بسيط يستخدم عددًا صحيحًا متغير.

#include <iostream> using namespace std ; int main() { int a; // Declare an integer variable a a = 5; // Assign value of 5 to variable a cout << a; // Display the value of variable a which contains 5 return 0; }

عند تنفيذ هذا البرنامج ، سترى 5 معروضة على الشاشة

  • لاحظ أنه في البرنامج أعلاه // يوضع بعد السطور. الرمز "//" مخصص لتعليق كودنا. رمز بعد الرمز لم يتم تنفيذ "//" في السطر الذي تم وضعه فيه.

  • على السطر 5 يتم الإعلان عن متغير صحيح بسيط.

  • في السطر 6 ، يتم تعيين القيمة 5 للمتغير a. الآن عندما نستخدم المتغير a في برنامجنا ، ستكون قيمته 5 ما لم نغيرها.

  • في السطر 7 ، نعرض قيمة المتغير a و 5 مطبوعة على الشاشة.

نطاق المتغيرات

جميع المتغيرات لها مجال عملها ، ومن خارج هذه الحدود لا تحتفظ بقيمتها ، وتسمى هذه الحدود نطاق المتغير. بالنسبة لمعظم الحالات ، بين الأقواس المجعدة ، حيث يتم الإعلان عن متغير متغير موجود ، وليس خارجها. سنقوم بدراسة فئات التخزين في وقت لاحق ، ولكن حتى الآن ، يمكننا تقسيم المتغيرات على نطاق واسع إلى نوعين رئيسيين ،

*المتغيرات العالمية.

* المتغيرات المحلية.

المتغيرات العالمية

المتغيرات العالمية هي تلك التي تم الإعلان عنها ذات يوم ويمكن استخدامها طوال فترة البرنامج بأي فئة أو أي وظيفة. يجب إعلانها خارج الوظيفة الرئيسية (). إذا تم الإعلان عنها فقط ، فيمكن تعيين قيم مختلفة في وقت مختلف في عمر البرنامج. ولكن حتى إذا تم إعلانها وتهيئتها في نفس الوقت خارج الوظيفة الرئيسية () ، فيمكن أيضًا تعيين أي قيمة لها في أي نقطة في البرنامج.

على سبيل المثال: المعلنة فقط ، لم تتم تهيئتها.

include <iostream> using namespace std; int x; // Global variable declared int main() { x=10; // Initialized once cout <<"first value of x = "<< x; x=20; // Initialized again cout <<"Initialized again with value = "<< x;` }

المتغيرات المحلية

المتغيرات المحلية هي المتغيرات التي لا توجد إلا بين الأقواس المجعدة ، والتي أعلن عنها. خارج أنها غير متوفرة ويؤدي إلى خطأ وقت الترجمة.

مثال:

include <iostream> using namespace std; int main() { int i=10; if(i<20) // if condition scope starts { int n=100; // Local variable declared and initialized } // if condition scope ends cout << n; // Compile time error, n not available here }

الآن دعونا نقرأ عن نوع جديد من المتغيرات

متغير ثابت

المتغيرات الساكنة: عندما يتم الإعلان عن متغير على أنه ثابت ، يتم تخصيص مساحة له طوال مدة البرنامج. حتى إذا تم استدعاء الدالة عدة مرات ، يتم تخصيص مساحة للمتغير الثابت مرة واحدة فقط ويتم تحميل قيمة المتغير في المكالمة السابقة من خلال استدعاء الوظيفة التالي. يفيد ذلك في تنفيذ الكوروتين في C / C ++ أو أي تطبيق آخر حيث يجب تخزين الحالة السابقة للوظيفة. في المصطلحات العادية ، يعني ذلك أن المتغير الطبيعي عندما يخرج من النطاق يفقد هويته (قيمة) ، ولكن المتغير الثابت له نطاق عالمي ويحتفظ به حتى نهاية البرنامج ، ولكن بخلاف المتغير الشامل ، ليس من الضروري الإعلان عنه. في بداية البرنامج.

إضافي-

Static هي كلمة أساسية في C ++ تستخدم لإعطاء خصائص خاصة لعنصر. يتم تخصيص العناصر الثابتة للتخزين مرة واحدة فقط في عمر البرنامج في منطقة التخزين الثابتة. ولديهم نطاق حتى عمر البرنامج.

الشفرة-

`#include #include using namespace std;

void howstaticworks() { static int count = 0; // static variable cout << count << " ";

/* value is updated and 
 will be carried to next 
 function calls*/ 
count++; 

}

int main() { for (int i=0; i<5; i++) howstaticworks(); return 0; } `

جرب بنفسك

فقط انسخ الكود وألصقه في الرابط المعطى. تشغيل على IDE- https://ideone.com/

انتاج: 0 1 2 3 4

يمكنك أن ترى في البرنامج أعلاه أن العد المتغير يعلن بأنه ثابت. لذلك ، يتم تنفيذ قيمته من خلال المكالمات الدالة. لا تتم تهيئة عدد المتغيرات في كل مرة يتم استدعاء الدالة.

دعونا نعطي نفس رمز المحاولة عن طريق إزالة الكلمة "ثابتة" وتخمين الناتج ومقارنتها مع واحدة على IDE. يتم الآن تحويل ثابت إلى متغير عادي