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

v. طريقة أو طريقة ثابتة: يتم الوصول إليها من قبل جميع مثيلات الفئة.
سننظر في جميع حالات الاستخدام الثلاثة وكيف تتغير مع مساحة تخزين المتغير وتحسين جودة الكود.
جدول المحتويات
ما هو المتغير الثابت؟
في البرمجة ، المتغير الثابت هو المتغير المخصص "بشكل ثابت" ، مما يعني أن عمره يستمر طوال فترة تشغيل البرنامج. يتم الإعلان عنها بالكلمة الأساسية "ثابتة" وتستمر في قيمتها عبر استدعاءات الوظائف.
بناء الجملة:
صيغة المتغير الثابت هي:
ثابت data_type متغير_اسم ؛
إعلان متغير ثابت
عندما يتم التصريح عن متغير ثابت ، يتم إنشاء نسخة منه. الغرض الرئيسي من استخدامها بدلاً من المتغير المحلي هو أنها تحتفظ بالقيمة المعينة في النطاق حيث توجد. لا يحتاج المبرمج إلى تهيئة المتغير مرارًا وتكرارًا في النطاق الجديد للبرنامج. إنه موجود في جميع أنحاء البرنامج بأكمله.
Static ، بشكل عام ، هو محدد فئة التخزين المطبق على أي نوع بيانات. يوجه المترجم للحد من متغير أو وظيفة في نطاق البرنامج ويستمر طوال عمر البرنامج. تسمح هذه الخاصية بتغليف ثابت أو إخفاء المتغيرات من بقية البرنامج لمنع أي وصول غير مقصود. يمكن للمطور التحكم في كيفية الوصول إلى المتغيرات داخل الوحدة النمطية. هذه ممارسة برمجة جيدة.
قراءة: أفضل 130+ أسئلة وأجوبة مقابلة Java
متغير ثابت في البرنامج
· يبقى متغير ثابت في مساحة الذاكرة أثناء تنفيذ الكود بأكمله.
· قيمة التهيئة الافتراضية لمتغير ثابت هي صفر ، حتى لو لم يتم تعيينها ، وهذا ليس هو الحال في المتغير المحلي.
· من الضروري تهيئة المتغير الثابت باستخدام الكلمة الأساسية الثابتة في لغة C ، وإلا فسيؤدي ذلك إلى ظهور خطأ.
· يتم تهيئة المتغير الثابت فقط في المرة الأولى التي يتم فيها استدعاء دالة.
· في متغير ثابت ، يتم تخصيص ذاكرة المتغير الثابت .
· لا يمكن الوصول إلى المتغير الثابت العام خارج البرنامج.
البرنامج الأساسي على المتغير الثابت في C
# تضمين <stdio.h>

int main ()
{
printf ("٪ d"، func ()) ؛
printf ("\ n٪ d"، func ())؛
العودة 0 ؛
}
int func ()
{
ثابتة عدد كثافة العمليات = 0 ؛
العد ++ ؛
عدد العودة
}
هنا في هذا الكود ، يتم الإعلان عن متغير العد كمتغير ثابت . مع كل استدعاء من func () ، يتم تحديث قيمة العد إلى 1. في استدعاء الوظيفة التالي ، تصبح قيمة متغير العد 2. وهكذا ، تستمر قيمة المتغير الثابت في استدعاء الوظيفة.
انتاج:
1
2
الفرق بين المتغير المحلي والمتغير الثابت
يتم استخدام كل من المتغيرات المحلية والثابتة بالتبادل في البرنامج. فيما يلي بعض الاختلافات الرئيسية بين الاثنين:
نقاط مميزة | متغير محلي | متغير ثابت |
إعلان الكلمات الرئيسية المتغيرة | 1. يتم التصريح عنها بواسطة متغير تلقائي ، على سبيل المثال ، int a = 1. | 1. يتم التصريح عنها بواسطة متغير ثابت ، على سبيل المثال ، static int a = 1. |
إعلان متغير | 2. يعلن داخل الوظيفة. | 2. يعلن إما داخل أو خارج الوظيفة. |
الخلق المتغير | 3. يتم إنشاؤه في كل مرة يتم استدعاء وظيفة. | 3. تم إنشاؤه لاستدعاء الوظيفة الأول فقط ، ويتم استخدام نفس المتغير لاستدعاء آخر. |
تهيئة المتغير | 4. يتم تهيئته في كل مرة يتم استدعاء وظيفة. | 4. تتم تهيئته مرة واحدة فقط في البرنامج. |
القيمة الافتراضية المتغيرة | 5. في حالة عدم التهيئة ، يتم تخزين قيمة غير صحيحة في المتغير. | 5. إذا لم تتم تهيئته ، يتم تخزين القيمة 0 بشكل ثابت افتراضيًا. |
إنهاء متغير | 6. تنتهي الوظيفة عندما تنتهي. | 6. إذا تم الإعلان عنه داخل دالة ، فيمكن الوصول إليها في هذه الوظيفة فقط. يقتصر النطاق على هذه الوظيفة ، ومدة صلاحيتها حتى انتهاء البرنامج. إذا تم الإعلان عنه خارج الوظيفة ، فسيكون المتغير عامًا ويمكن الوصول إليه بواسطة أي دالة في الملف. النطاق هو الملف ، ولكن العمر الافتراضي حتى ينتهي البرنامج. |
من خلال هذا الجدول ، يتضح سبب تفضيل المتغيرات الثابتة على المتغيرات المحلية.
كود يشمل كلا من المتغير المحلي والثابت
# تضمين <stdio.h>
انت مين() {
كثافة العمليات أ = -15 ؛
ثابت الباحث ب = 5 ؛
printf ("قيمة المتغير التلقائي أ هي٪ d \ n" ، أ) ؛
printf ("قيمة المتغير الثابت ب هي٪ d \ n" ، ب) ؛
إذا (أ! = 0)
printf ("مجموع المتغير الثابت والتلقائي هو٪ d \ n"، (b + a)) ؛
العودة 0 ؛
}
مخرجات البرنامج:
قيمة المتغير التلقائي هي -15

قيمة المتغير الثابت 5
مجموع المتغير الثابت والمتغير التلقائي هو -10
اقرأ أيضًا: أفكار مشروع ج
ملخص
تُستخدم الكلمة الأساسية الثابتة على نطاق واسع للعديد من الميزات التي تقدمها في برمجة لغة سي. استخدامه الرئيسي هو الحد من نطاق المتغيرات المحددة في دالة أو وحدة. يمكن للمطورين تجربة الأمان ، حيث يمكن إخفاء المتغيرات والوظائف عن البرنامج الخارجي من خلال استخدام المتغير الثابت . في العديد من اللغات الحديثة الموجهة للكائنات ، يتم استبدال استخدام ثابت من قبل الخاص والعامة.
إذا كنت مهتمًا بمعرفة المزيد وتحتاج إلى إرشاد من خبراء الصناعة ، فراجع دبلوم upGrad & IIIT Banglore PG في تطوير برامج Full-Stack .