Download Inhoudsopgave Inhoud Print deze pagina

Static Variabelen - Conrad Electronic C-Control Pro Mega Series Gebruiksaanwijzing

Inhoudsopgave

Advertenties

functies produceren locale variabelen. Locale variabelen kunnen alleen binnen de functie
bereikt worden. Een voorbeeld:
int
a,b;
void
func1 (void)
{
int
a,x,y;
// globale b is toegankelijk
// globale a is niet toegankelijk, deze is door locale a afgedekt
// locale x,y zijn toegankelijk
// u is niet toegankelijk omdat deze lokaal hoort tot functie main
}
void
main
(void)
{
int u;
// globale a, u zijn toegankelijk
// locale u is toegankelijk
//x,y niet toegankelijk omdat deze lokaal hoort
}
Globale variabelen hebben een gedefinieerd geheugenbereik dat tijdens de totale
programmaduur ter beschikking staat.
Bij de start van het programma worden de globale variabelen met nul geïnitialiseerd.
Locale variabelen worden tijdens de berekening van een functie door de variabelen in het
stack aangelegd. Dat betekent dat locale variabelen alleen in het geheugen bestaan tijdens
de tijd dat de functie verwerkt wordt.
Als bij locale variabelen dezelfde naam gekozen wordt als bij een globale variabele, dan ver-
bergt de locale variabele de globale variabele. Zolang zich het programma dan ophoudt in
de functie waar de locale variabele met dezelfde naam gedefinieerd is, kan de globale
variabele niet aangesproken worden.

Static variabelen

Bij locale variabelen kan de eigenschap static voor het datatype gezet worden.
void func1 (void)
{
a;
static int
}
Static variabelen behouden in tegenstelling tot normale variabelen hun waarde ook als de
functie verlaten wordt. Bij een volgende oproep van de functie heeft de statische variabele
dezelfde inhoud als bij het verlaten van de functie. Omdat de inhoud van een static
variabele bij de eerste toegang gedefinieerd is, worden statische variabelen net als globale
ook bij de start van het programma met nul geïnitialiseerd.
78
tot functie func1

Advertenties

Inhoudsopgave
loading

Gerelateerde Producten voor Conrad Electronic C-Control Pro Mega Series

Inhoudsopgave