static Funktionen sind Funktionen, die nur innerhalb eines Quelltextfiles sichtbar sind.Sehen sie sich das folgenden Programmbeispiel an..
| main.c |
|---|
#include |
| funcs.c |
|---|
/*************************************
*
* Funktionsdeklaration (prototypes).
*
*************************************/
/* Func1 ist nur in diesem File sichtbar. */
static void Func1(void);
/* Func2 ist im gesamten Quelltext sichtbar. */
void Func2(void);
/*************************************
*
* Funktionsdefinitionen
*
*************************************/
void Func1(void)
{
puts("Func1 called");
}
/*************************************/
void Func2(void)
{
puts("Func2 called");
}
|
Wenn man versucht, diese Programm zu übersetzten ( mit gcc z.B.)
gcc main.c funcs.c |
wird die Übersetzung mit einer Fehlernachricht abgebrochen, die etwa so lauten könnte
undefined reference to `Func1' |
Da die Funktion 'Func1' als static deklariert wurde, ist sie in 'main.c' nicht sichtbar.
Die Bedeutung des Schlüsselwortes static ist kontextabhängig:
C++ Erweiterungen für static