Your wording is extremely confusing.
Example:
A.c
int my_int = 10;
B.c
extern int my_int; /* Accesses my_int from A.c */
/* ... */
my_int = 20; /* Now my_int from A.c == 20 */
C.c
static int my_int = 20;
D.c
extern int my_int;
my_int = 30; /* Linking error: undefined symbol: myint. */

