المتغيرات الثابتة العامة static global :
المتغيرات العامة تتميز بإمكانية استخدامها في أي جزء من أجزاء البرنامج , وفي حالة وجود أكثر من برنامج(ملف) يتم ربطهم ضمن مشروع project يمكن استخدام المتغيرات العامة المصرح عنها في أي ملف(برنامج) لاستخدامها في الملفات(البرامج) التابعة لنفس المشروع . في حالة رغبة المبرمج استخدام متغيرات عامة في البرنامج التابع له وحجبها عن بقية الملفات التابعة لنفس المشروع نستخدم الكلمة static والتي تؤدي إلى إخفاء المتغير عن الملفات الأخرى .
وهذا مفيد في حالة خلق مكتبة تحتوي على العديد من الدوال التي تستخدم متغيرات عامة مشتركة. توضع هذه الدوال في ملف يترجم يشكل منفصل مع التصريح عن المتغيرات العامة التابعة له static نضمن أولا عدم قدرة الملفات الأخرى التي ستضمن هذه المكتبة على تغيير المتغيرات التابعة لتلك المكتبة ,ثانيا بإمكان البرامج التي تضمن هذه المكتبة استخدام متغيرا بنفس اسم المتغيرات العامة التابعة لتلك المكتبة بدون أخطاء .
المثال التالي يمكن ترجمته (compiled) بشكل منفصل لخزنه وتضمينه مع أي برنامج لغرض استخدامه .
مثال:
static int series_num;
void series_start(int seed);
int series(void);
int series(void)
{
series_num =series_num+23;
return series_num;
}
/*initialize series_num */
void series_start(int seed)
{
series_num =seed;
}
تحديد قيمة أولية للمتغيرات Variable Initialization :
يمكن تحديد قيمة أولية لمتغير عند التصريح عن وكما في الأمثلة التالية :
char ch = a ;
int first =0;
float balance =123.23;
يجب تحديد قيمة أولية المتغيرات المحلية والعامة نوع static عند التصريح عنها.
الثوابت Constant :