PDA

View Full Version : سوال در مورد نحوه ی استفاده از extern در سی



snbb000
پنج شنبه 16 بهمن 1393, 11:54 صبح
سلام دوستان به کد زیر توجه کنید .
من یک فایل دارم به اسم f.h توی اون کد زیر هست


void set(int x);
int get(void);


یک فایل داریم به اسم f.c توش این کد هست


#include "f.h"

static int a;

void set(int x)
{
a = x;
}

int get(void)
{
return a;
}



حالا توی main.c این کد ها است


#include <stdio.h>
#include "f.h"

int main(void)
{

set(10);
printf("%d",get());

}


وقتی کامپایل میشه کد بدون مشکل اجرا میشه . حالا سوال اینجاست
مگه چون توایع get و set چون توی یک فایل دیگه بودند نباید توی main.c اونارو extern معرفی می کردم ؟

من extern معرفی نکردم و بدون هیچ مشکلی هم اجرا شد.

سوال بعد اینکه که چرا این اجرا شد ؟ و چه موقع باید از کلمه extern استفاده کنم ؟ اصلن مهم هست یا نه ؟ ممنون

rahnema1
پنج شنبه 16 بهمن 1393, 13:16 عصر
سلام به طور پیش فرض extern هست
در این تاپیک در مورد کلاسهای حافظه و linkage صحبت شده
http://barnamenevis.org/showthread.php?448698