Statiske variabler er en nyttig del av C. De gir deg fleksibilitet i å lage funksjoner som returnerer mer komplekse data , men de kan være vanskelig å forstå og bruke effektivt . Instruksjoner
Erklærer en statisk variabel
en
Vet at statiske variabler er alltid deklarert inne i en C -funksjon , men i motsetning til andre variabler , deres verdier fortsette å eksistere og beholdes , selv etter at funksjonen utganger.
2
erklærer en statisk variabel ved å bruke samme syntaks som du ville gjort for å erklære en normal lokal variabel , men foran erklæringen med ordet statisk , slik:
static int sum = 0 ;
3 Forvent initialisering å skje bare første gang du kaller funksjonen . Påfølgende ganger, vil den forrige verdien fortsatt være der. Hvis du utelater initialisering , vil det automatisk bli initialisert til 0 .
4
Bruk variabelen i funksjonen som du gjør med andre .
5
Husk at, som en hvilken som helst annen lokal variabel, kan en statisk variabel ikke bli henvist ut av funksjon . Men hvis du passerer ut en peker til det, kan pekeren bli derefereres vellykket , siden variabelen fortsatt eksisterer .
Vite når du skal bruke statiske variabler
6
Bruk en statisk variabel slik at din funksjon å ha sin egen hukommelse som bærer over fra én samtale til en annen. For eksempel kan en funksjon som får og analyserer den neste linjen i en fil må internt holde oversikt over hvor det er i filen .
7
Bruk en statisk variabel som en måte å gi et stykke av minne for lagring av et resultat. For eksempel kan en funksjon for å sette sammen strenger bruke en statisk variabel der du vil lagre resultatet av sammensetning og returnere en peker til den. Den statiske variable minne er konstant tilgjengelig , men vil automatisk bli frigitt når programmet avsluttes , akkurat som alle andre lokale variable .
8
Bruk statiske variabler for en løpende sum eller lignende opphopning . Tenk på dette eksemplet :
int running_total ( int num ) { static int sum = 0; sum + = num ; retur sum ;} Hver gang du kalle denne funksjonen , holder det og returnerer en løpende summen av alle tallene gått inn i den.