знаех (вярвам, че е така) разликата между декларация на променлива и дефиниция. Просто исках да знам къде (в кой обект) ще бъде дефинирана променлива, която е декларирана с външна връзка (в заглавен файл) и включи този заглавен файл в много изходни файлове, където е използвана променливата. препоръчах няколко връзките за декларация и дефиниция не можаха да намерят информация относно това.
//globalheader.h//
extern int test_var;
//file1.c//
#include "globalheader.h"
static fn1();
fn1
{
int a;
a = test_var;
}
//file2.c//
#include "globalheader.h"
static fn2();
fn2
{
int b = 1;
test_var = b;
}
В горния кодов фрагмент test_var е деклариран с външна връзка в globalheader.h, който е включен във file1.c и file2.c. Не къде тази test_var е дефинирана, но се използва, така че къде (в кой обектен файл) тази test_var ще бъде разпределена памет?