Variável global

Definição - o que significa variável global?

Uma variável global é uma construção de linguagem de programação, um tipo de variável que é declarado fora de qualquer função e é acessível a todas as funções em todo o programa. Um grupo de variáveis ​​globais é chamado de estado global ou ambiente global porque, quando combinadas, definem vários aspectos de um programa ou ambiente quando o programa é executado. Uma variável global é geralmente declarada no topo de todas as funções e é mantida em um mínimo, pois todas as funções podem manipulá-las durante o tempo de execução do programa, o que é considerado perigoso pela maioria dos programadores porque podem ser alteradas acidentalmente, resultando em bugs.

Definirtec explica a variável global

Variáveis ​​globais, como o nome indica, são variáveis ​​que podem ser acessadas globalmente ou em qualquer lugar do programa. Depois de declarados, eles permanecem na memória durante todo o tempo de execução do programa. Isso significa que eles podem ser alterados por qualquer função em qualquer ponto e podem afetar o programa como um todo. Durante os primeiros anos de computadores onde a memória era muito limitada, eles foram considerados uma prática ruim porque ocupavam um espaço valioso de memória e era muito fácil para o programador perder o controle de seus valores, especialmente em programas longos, levando a bugs que podem ser muito difícil de localizar. O código-fonte é mais bem compreendido quando o escopo de seus elementos individuais é limitado, portanto, por causa de sua não localidade, é difícil acompanhar onde foram alterados ou por que foram alterados.

Mesmo com esse estigma, as variáveis ​​globais são valiosas em funções que não compartilham uma relação de '' chamador e receptor ”, como manipuladores de sinal e threads simultâneos. Com exceção das variáveis ​​globais declaradas como valores somente leitura na memória protegida, os códigos devem implantar o encapsulamento adequado para serem considerados "thread-safe".

As primeiras versões de linguagens não estruturadas como BASIC, COBOL e Fortran usavam apenas variáveis ​​globais. No entanto, linguagens como Lua, Forth e Perl usam variáveis ​​globais por padrão, como a maioria dos scripts de shell.