الفرق بين المتغير المحلي والعالمي

مؤلف: Laura McKinney
تاريخ الخلق: 1 أبريل 2021
تاريخ التحديث: 18 قد 2024
Anonim
فيديو #45 | الفرق بين المتغير الـ (Local) والمتغير الـ (Global أو Innstance)
فيديو: فيديو #45 | الفرق بين المتغير الـ (Local) والمتغير الـ (Global أو Innstance)

المحتوى


كما ناقشنا سابقًا ، المتغير هو اسم ، يُعطى لموقع الذاكرة ، ويجب الإعلان عنه قبل استخدامه. في C ، يتم الإعلان عن جميع المتغيرات في بداية البرنامج. في C ++ ، يمكن التصريح عن المتغيرات ، في أي وقت ، قبل استخدامها في التعليمات.

يتم تصنيف المتغيرات إلى متغير "محلي" و "عالمي" ، وهو الموضوع الرئيسي في مناقشتنا. هنا الفرق الرئيسي بين المتغير المحلي والعالمي هو أنه يتم الإعلان عن متغير محلي داخل كتلة دالة. في المقابل ، يتم الإعلان عن المتغير العام خارج الوظائف في البرنامج.

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

  1. رسم بياني للمقارنة
  2. تعريف
  3. الاختلافات الرئيسية
  4. مزايا
  5. سلبيات
  6. خاتمة

رسم بياني للمقارنة:

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

تعريف المتغير المحلي

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


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

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

ملحوظة:
ومع ذلك ، هناك طريقة للاحتفاظ بقيمة متغير محلي باستخدام معدل "ثابت".

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

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

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


يعد متغير عمومي مفيدًا في الحالات التي تصل فيها وظائف متعددة إلى نفس البيانات. قد يكون استخدام عدد كبير من المتغيرات العامة مشكلة ، حيث قد تكون هناك تغييرات غير مرغوب فيها على قيمة المتغير الشامل.

  1. تسمى المتغيرات المحلية "محلية" لأنها معروفة فقط للبيانات المكتوبة في دالة يتم الإعلان عنها داخلها وغير معروفة لأي وظيفة أخرى موجودة خارج مجموعة الوظائف هذه. في حالة متغير عمومي ، تكون معروفة لكل وظيفة موجودة في البرنامج ؛ وبالتالي ، يطلق عليهم "العالمية".
  2. تحتفظ المتغيرات العامة بقيمتها حتى يكون البرنامج في مرحلة التنفيذ ، حيث يتم تخزينها في موقع ثابت يقرره المترجم. يتم تخزين المتغيرات المحلية على المكدس. وبالتالي ، لا يحتفظون بقيمتهم لأن "المكدس" ديناميكي بطبيعته ، ولكن يمكن توجيه برنامج التحويل البرمجي للاحتفاظ بقيمته ، باستخدام المعدل "الثابت".
  3. إذا تم الإعلان عن متغير عمومي ومحلي بنفس الاسم بعد ذلك ، فكل عبارات كتلة التعليمات البرمجية التي تم الإعلان عن متغير محلي فيها ستشير فقط إلى متغير محلي ولن تسبب أي تأثير على متغير عمومي.
  4. يتم إتلاف متغير محلي عند خروج عنصر التحكم في البرنامج من الكتلة التي يتم فيها الإعلان عن متغير محلي. ومع ذلك ، يتم إتلاف متغير عمومي عند إنهاء البرنامج بأكمله.

مزايا

متغير محلي

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

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

  • تكون المتغيرات العامة مفيدة جدًا عند التعامل مع العديد من الوظائف في البرنامج التي تتعامل مع نفس البيانات.
  • التغييرات التي يلزم تطبيقها في البرنامج بالكامل ستكون أسهل من خلال تطبيق متغير عمومي.
  • يمكننا الوصول من أي مكان أو من خلال أي وظيفة عشوائية للبرنامج.

سلبيات

متغير محلي

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

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

  • قد يؤدي استخدام عدد كبير من المتغيرات العامة إلى توليد أخطاء البرنامج.
  • المشكلة الرئيسية التي تسببها هي حدوث التغييرات العرضية بسبب المتغيرات العالمية المنشورة في جميع أنحاء البرنامج.
  • قد يؤدي أيضًا إلى زيادة الحاجة إلى إجراء إعادة تنظيم التعليمات البرمجية ، وهي عملية شاملة للغاية حيث تتم إعادة هيكلة رمز البرنامج بالكامل.

خاتمة:

المتغيرات المحلية والعالمية ضرورية ومطلوبة على حد سواء أثناء كتابة البرنامج. ومع ذلك ، فإن الإعلان عن عدد كبير من المتغيرات العالمية قد يكون مشكلة في برنامج ضخم ، لأنه قد يتسبب في تغييرات غير مرغوب فيها على متغير عمومي ؛ وسيكون من الصعب تحديد ذلك الجزء من البرنامج الذي أجرى هذا التغيير. وبالتالي ، ينبغي للمرء تجنب الإعلان عن المتغيرات العالمية غير الضرورية.