Statische variabelen zijn een nuttig onderdeel van C. Ze geven u flexibiliteit bij het maken van functies die meer complexe data terug , maar ze kunnen lastig zijn om te begrijpen en effectief te gebruiken zijn. Instructies Verklaar een statische variabele 1 Weet dat statische variabelen altijd in een C -functie worden gedeclareerd , maar in tegenstelling tot andere variabelen , hun waarden blijven bestaan en blijven behouden , zelfs nadat de functie verlaat . kopen van 2 verklaar een statische variabele met dezelfde syntaxis als u zou doen met een gewone lokale variabele declareren , maar vooraf de verklaring met het woord statische , zoals deze : static int som = 0 ; 3 Verwacht initialisatie tot alleen de eerste keer dat je de functie aanroept gebeuren . Volgende keer , zal de vorige waarde nog steeds zijn. Als u de initialisatie weglaat , wordt deze automatisch geïnitialiseerd op 0 . 4 Gebruik de variabele in de functie zoals u elke andere . 5 Vergeet niet dat , zoals andere lokale variabele , kan een statische variabele niet verwezen naar buiten de functie . Echter , wanneer u flauwvalt een pointer naar het, de wijzer kan worden met succes dereferentie , aangezien de variabele nog steeds bestaat . Weet wanneer je moet Static variabelen gebruiken 6 gebruik een statische variabele om uw functie om zijn eigen geheugen , dat meer dan draagt van het ene gesprek naar het andere te hebben. Bijvoorbeeld , zou een functie die de volgende regel van een bestand krijgt en ontleedt moeten spoor intern houden van waar het in het bestand . 7 Gebruik een statische variabele als een manier om een stuk te bieden geheugen voor het opslaan van een resultaat . Bijvoorbeeld kan een functie om strings aaneenschakelen een statische variabele gebruiken om het resultaat van de concatenatie slaan en terug een pointer aan. Het geheugen van de statische variabele is constant beschikbaar , maar zal automatisch worden vrijgemaakt wanneer het programma eindigt , net als elke andere lokale variabele . 8 Gebruik statische variabelen voor een lopend totaal of dergelijke accumulatie . Beschouw dit voorbeeld : int running_total ( int num ) { static int som = 0 ; som + = num ; return som ; } Iedere keer dat u deze functie noemen , het houdt en geeft een lopend totaal van alle getallen overgegaan in het.
|