تخطَّ إلى المحتوى

🇨 شرح لغة C

أصناف التخزين والثوابت

الدرس 18 من 25· ⏱ 1 دقائق قراءة

الثوابت

const double PI = 3.14159;   // لا يمكن تغييرها
#define MAX 100              // ثابت معالَج قبل الترجمة

static

داخل دالة: يحفظ قيمة المتغيّر بين الاستدعاءات.

void counter() {
    static int count = 0;   // يُهيّأ مرّة واحدة
    count++;
    printf("%d\n", count);  // 1 ثم 2 ثم 3...
}

على مستوى الملف: يقصر رؤية المتغيّر/الدالة على هذا الملف فقط.

extern

يشير إلى متغيّر معرّف في ملف آخر (للمشاريع متعدّدة الملفات):

extern int globalValue;

register

تلميح لتخزين المتغيّر في سجلّ المعالج لسرعة أعلى (نادر الاستخدام اليوم).

أخطاء شائعة

  • محاولة تعديل متغيّر const.

🎯 التالي: المعالج المسبق والماكرو.

هل كان هذا الدرس مفيدًا؟