هل يمكننا استخدام الثابت والمتطاير معًا في C؟
هل يمكننا استخدام الثابت والمتطاير معًا في C؟

فيديو: هل يمكننا استخدام الثابت والمتطاير معًا في C؟

فيديو: هل يمكننا استخدام الثابت والمتطاير معًا في C؟
فيديو: بالفازلين فقط! احصل على شعر خرافي! 2024, مارس
Anonim

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

وبالمثل قد يتساءل المرء ، هل يمكننا استخدام السكون والمتطاير معًا؟

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

وبالمثل ، لماذا نستخدم المتطاير في C؟ سي متقلبة الكلمة الأساسية هي مؤهل يتم تطبيقه على متغير عند الإعلان عنه. يخبر المترجم أن قيمة المتغير قد تتغير في أي وقت - دون أن يتخذ أي إجراء من خلال الكود الذي يجده المترجم في مكان قريب. الآثار المترتبة على ذلك خطيرة للغاية.

بالنظر إلى هذا ، ماذا يعني تقلب ثابت في C؟

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

هل يمكننا استخدام const مع متطاير في C؟

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

موصى به: