#include /* int a = 9; This second global declaration of the same variable a causes the link error: multiple declaration of a */ /* extern int a = 9; It is invalid to (default) initialize a variable that has been declared elsewhere */ extern int a; void f1(void) { extern b; printf("\nFrom f1: a = %d b = %d\n", a, b); }