Interne Verknüpfung mit statischem Schlüsselwort in C

Ich kennestatic ist ein überladenes Schlüsselwort in C. Hier bin ich nur an seiner Verwendung als Schlüsselwort zur Durchsetzung der internen Verknüpfung interessiert.

Wenn Sie eine globale Variable in einem @ deklariert hab.c Datei, was ist der Unterschied zwischen der Verwendung vonstatic und nicht mitstatic? So oder so, kein anderes.c file hat Zugriff auf die Variable, daher ist die Variable für die Datei grundsätzlich "privat", mit oder ohne das Schlüsselwort static.

Zum Beispiel, wenn ich eine Datei habefoo.c, und ich deklariere eine globale Variable:

int x = 5;

Diese Variablex ist nur verfügbar, um innerhalb von @ zu codierfoo.c (es sei denn natürlich, ich deklariere es in einer freigegebenen Header-Datei mit demextern Stichwort). Aber wenn ich es nicht in einer Header-Datei deklariere, was wäre der Unterschied, wenn ich Folgendes eingeben würde:

static int x = 5.

ie auch immer, es scheint,x hat hier eine interne Verknüpfung. Ich bin also verwirrt über den Zweck vonstatic in dieser Hinsicht.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage