Tracks
/
C
C
/
Lehrplan
/
Statische Funktionen
St

Statische Funktionen in C

{one: "1 Übung", other: "%{count} Übungen"}

Über Statische Funktionen

Funktionen haben standardmäßig externe Bindung und können aus jeder anderen Datei im Projekt aufgerufen werden. Mehr zur Bindung findest du im Konzept zur Bindung. Eine static-Funktion kann nur in der Quelldatei aufgerufen werden, in der sie definiert ist.

Zum Beispiel

// file scope, internal linkage
// can only be called from within this file
static void some_function()
{
    // code snipped
}

// file scope, external linkage by default
// can be called from any other file in the project
int main()
{
    // code snipped
}

Selbst wenn eine Funktion in einem Header deklariert ist, kann sie nicht von außerhalb ihrer Quelldatei aufgerufen werden, wenn sie als static definiert ist. Eine Quelldatei könnte den Header einbinden, die im Header deklarierte static-Funktion aufrufen und kompilieren, aber der Linker wird die Definition der static-Funktion nicht finden. Eine Funktion, die in einer Quelldatei als static markiert ist, sollte nicht in ihrer Header-Datei deklariert werden.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab