extern
extern
int b;
Diese
Anweisung macht den Namen b
bekannt (Deklaration). Der Typ des Namens ist int. Das Voranstellen von extern bedeutet,
dass hier nur eine
Deklaration und keine Definition stattfindet. Die
Speicherplatzvergabe
findet an anderer Stelle statt!
static-Variablen oder static-Funktionen können nicht mit extern
bekannt gemacht
werden. Diese gelten nur in ihrer eigenen Datei ( ausschließlich
interne
Bindung ).
Datei
eins.cpp:
int y;
void function_a() { }
Datei
zwei.cpp:
extern
int y;
extern
void function_a();
y--;
function_a();
static
Eine
Variable der Speicherklasse static ist
gültig von der
ersten Verwendung bis zum Programmende.
Zusätzlich
verändert static die Eigenschaften beim
Linken
mehrerer Dateien. Static-Variablen und
Funktionen
sind nur in der eigenen Datei gültig und bekannt. Ein Binden (Linken)
über
Dateigrenzen hinweg findet nicht statt.