Połączenie zewnętrzne
Jeżeli pierwsza deklaracja na poziomie zakresu pliku dla identyfikatora nie korzysta ze specyfikatora klasy magazynującej static, obiekt ma zewnętrzne powiązanie.
Jeśli deklaracja identyfikatora dla funkcji nie ma specyfikatora klasy magazynującej, jego powiązanie jest określone dokładnie tak, jakby zostało zadeklarowane ze specyfikatorem klasy magazynującej extern.Jeśli deklaracja identyfikatora obiektu ma zakres pliku i nie ma specyfikatora klasy magazynującej, jego powiązanie jest zewnętrzne.
Nazwa identyfikatora z zewnętrznym powiązaniem wyznacza tę samą funkcję lub obiekt danych jak każda inna deklaracja dla tej samej nazwy z zewnętrznym powiązaniem.Dwie deklaracje mogą być w tej samej jednostce tłumaczenia lub w różnych jednostkach.Jeśli obiekt lub funkcja ma również globalny okres istnienia, obiekt lub funkcja jest współużytkowana przez cały program.