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.