Navigation

2.6.2 Speicherklasse extern

Variable, die außerhalb von Funktionen vereinbart werden, besitzen standardmäßig die Speicherklasse extern. Ist das Schlüsselwort extern angegeben, handelt es sich um eine Deklaration, welche beliebig oft möglich ist. Ohne extern-Angabe ist es eine Definition einer Variable (Speicherplatzvergabe), diese ist nur genau einmal in einem Programm möglich. Auf externe Variable kann von beliebigen Files zugegriffen werden. Die Lebensdauer erstreckt sich auf die gesamte Laufzeit des Programms.

VERBATIM/b262: 

file1.c                        file2.c
=======                        =======

int x;   /* Definition */
void f()                       void n()
{                              { 
    x=1; /* Zugriff    */       x=1;      /* falsch      */
}                              }

                            extern int x; /* Deklaration */
void g()                       void k()
{                              {
    x=2; /* Zugriff    */       x=2;      /* Zugriff     */
}                              }

Navigation