مقدمه
در زبان C، کلیدواژه extern برای اعلام (declaration) متغیرها و توابعی استفاده میشود که تعریف (definition) آنها در فایل دیگری قرار دارد. این کار به برنامهنویس اجازه میدهد تا به متغیرها و توابع سراسری (global) در چندین فایل مختلف دسترسی داشته باشد.
کاربرد اصلی
1. متغیرهای سراسری (Global Variables)
file1.c
int globalVar = 10; // تعریف متغیر
file2.c
extern int globalVar; // اعلام متغیر
void foo() {
globalVar = 20; // استفاده از متغیر تعریفشده در file1.c
}
2. توابع
extern void myFunction(int a);
نکات مهم
– فقط یکبار متغیر را تعریف کنید (مثلاً در یک فایل c).
– در سایر فایلها فقط اعلام کنید (با extern).
– اگر متغیر را همزمان در چند فایل تعریف کنید، خطای لینک خواهید گرفت.