Sobes.tech
Junior — Middle

Em que lugar do programa geralmente são armazenadas as variáveis estáticas?

sobes.tech IA

Resposta da IA

As variáveis estáticas num programa geralmente são armazenadas no segmento de dados (segmento de dados) ou no segmento de dados inicializados (segmento de dados inicializados) na memória do processo. Esta é uma área de memória reservada para armazenar variáveis globais e estáticas que existem durante toda a execução do programa.

No iOS (e em geral em C/C++/Objective-C), as variáveis estáticas dentro de funções ou classes são armazenadas nesta área, e não na pilha ou no heap. Isso permite que elas mantenham seu valor entre chamadas de funções.

Exemplo:

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

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

Aqui, count é uma variável estática que é armazenada no segmento de dados e mantém seu valor entre chamadas de função.