CATEGORII DOCUMENTE |
Variabile locale
Variabilele declarate in interiorul unei functii se numesc variabile locale. Variabilele locale pot fi referite numai prin instructiuni interioare blocului in care au fost daclarate aceste variabile. Variabilele locale nu sunt cunoscute in afara blocului in care au fost daclarate, domeniul lor limitandu-se numai la acest bloc. Mai exact, variabilele locale exista numai pe durata executiei blocului de cod in care acestea au fost daclarate; deci o variabila locala este creata la intrarea in blocul sau si distrusa la iesire. De obicei, blocurile de program in care se declara variabilele locale sunt functiile. Implicit, o variabila locala este auto, deci se stocheaza in memoria stiva. Ea poate fi declarata si register, caz in care se stocheaza in registrii interni ai microprocesorului sau poate fi declarata static, caz in care se stocheaza in memoria de date sau statica, valoarea sa pastrandu-se si la iesirea din functie.
Exemplu:
func1()
func2()
Aici variabila intreaga x este declarata de doua ori, o data in func1() si o data in func2(). x din func1() nu are nici o legatura cu x din func2(), deoarece fiecare x este cunoscut numai in blocul in interiorul caruia a fost declarat.
Limbajul C contine cuvantul cheie auto, care poate fi folosit pentru declararea de variabile locale. Cu toate acestea, intrucat C presupune ca toate variabilele neglobale sunt prin definitie (implicit) variabile locale, deci au atributul auto, acest cuvant cheie nu se utilizeaza.
De obicei, variabilele locale utilizate in interiorul unei functii se declara la inceputul blocului de cod al acestei functii. Acest lucru nu este neaparat necesar, deoarece o variabila locala poate fi declarata oriunde in interiorul blocului in care se utilizeaza, dar inainte de a fi folosita.
Exemplu: Consideram urmatoarea functie:
func () }
Aici, func() creeaza variabila locala s la intrarea in blocul de cod a lui if si o distruge la iesirea din acesta. Mai mult, s este cunoscuta numai in interiorul blocului if si nu poate fi referita din alta parte, chiar din alta parte a functiei func() care o contine.
Deoarece calculatorul creeaza si distruge variabilele locale la fiecare intrare si iesire din blocul in care acestea sunt daclarate, continutul lor este pierdut o data ce calculatorul paraseste blocul. Astfel, variabilele locale nu pot retine valorile lor dupa incheierea apelului functiei.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 764
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved