Sobes.tech
Junior — Middle

În ce loc din program sunt de obicei stocate variabilele statice?

sobes.tech AI

Răspuns de la AI

Variabilele statice dintr-un program sunt de obicei stocate în segmentul de date (segmentul de date) sau în segmentul de date inițializate (segmentul de date inițializate) în memoria procesului. Aceasta este o zonă de memorie rezervată pentru stocarea variabilelor globale și statice care există pe durata întregii execuții a programului.

În iOS (și în general în C/C++/Objective-C), variabilele statice din interiorul funcțiilor sau claselor sunt stocate în această zonă, nu pe stivă sau în heap. Acest lucru le permite să își păstreze valoarea între apelurile funcțiilor.

Exemplu:

func counter() -> Int {
    static var count = 0
    count += 1
    return count
}

print(counter()) // 1
print(counter()) // 2

Aici, count este o variabilă statică, care este stocată în segmentul de date și își păstrează valoarea între apelurile funcției.