statisk datatype variabelnavn
Statiske lokale variabler
Når en variabel i en funksjon er statisk, bevarer variabelen verdien mellom funksjonsanrop.
// Eksempel1.c
I eksempel 1.C, vi har to funksjoner: Fun1 () og Fun2 (). I Fun1 (), Vi erklærer en variabel (telling) og initialiserer den til 0. Deretter øker vi tellevariabelen og returnerer den resulterende verdien. Ved hjelp av hoved(), vi ringer Fun1 () to ganger, og hver gang returneres en verdi på 1 fordi tellevariabelen blir fjernet når samtalen til Fun1 () det er ferdig. I Fun2 () Vi erklærte tellevariabelen som en statisk variabel. Derfor er verdien bevart. Ved hjelp av hoved(), vi ringer Fun2 () To ganger: Første gang returneres en verdi på 1, og andre gang returneres en verdi på 2.
Statiske globale variabler
En statisk global variabel oppfører seg på samme måte som andre globale variabler, men den kan ikke nås fra et annet C -program.
Statiske funksjoner
I C er funksjoner globale som standard. Imidlertid, hvis vi erklærer en statisk funksjon, er funksjonen lokal og kan ikke nås fra et annet C -program.
Initialisering av statiske variabler
Hvis en statisk variabel ikke eksplisitt initialiseres, initialiseres den som 0.
// Eksempel2.c
I eksempel2.C, vi erklærte en statisk variabel I som ikke er initialisert. Fordi variabelen er statisk, blir den imidlertid automatisk initialisert til 0.
Det er viktig å merke seg at en statisk variabel må initialiseres med en konstant bokstavelig; Vi kan ikke bruke en funksjons returverdi for å initialisere en statisk variabel.
// Eksempel3.c
I eksempel3.C, vi prøver å initialisere en statisk variabel ved å bruke returverdien av Fun1 (). Som du ser, returneres imidlertid en feil når koden er samlet.
Sammendrag
Levetiden til en statisk variabel og programmets levetid er lik.
Hvis en statisk variabel ikke blir initialisert, vil den ta en standardverdi på 0.
Verken en global statisk variabel eller en statisk funksjon er tilgjengelig fra et annet program enn den der det ble definert.