Проучих в c, че променливите, които използват ключова дума extern, са външно препращани
например:
Prog1.cmain(){
extern int a ;
a=2;
}
Prog2.c int a=3;
тези две програми са успешно компилирани заедно. означава ли това, че променлива a в Prog2.c също има външна връзка (външна препратка)??
но е написано в dennis ritchie pg-195 раздел a4.1, че обектите, декларирани извън всички блокове, на същото ниво като дефинициите на функции, винаги са статични и мисля, че статичното означава вътрешно свързване, така че какво точно се случва в горната програма?