Qual é a diferença entre variáveis ​​locais e globais?

A maioria das linguagens de programação suporta variáveis ​​locais e globais.

Variáveis ​​locais

Variáveis ​​locais existem somente dentro de uma função, uma seção do código do programa que executa uma tarefa específica, na qual elas são definidas ou declaradas. Eles deixam de existir quando a função é executada. As variáveis ​​locais são recriadas a cada vez que a função é chamada ou executada. Estas variáveis ​​não são acessíveis para outras funções ou para o programa principal e, como tal, são geralmente implementadas usando um tipo especial de estrutura de dados, conhecido como stack.

Pilha

Em muitas linguagens de programação, a "pilha" é um elemento-chave na implementação de variáveis ​​locais. Antes de executar uma função, um programa adiciona todas as variáveis ​​locais declaradas nessa função à pilha, na ordem inversa em que foram declaradas. Quando o programa chama a função, as variáveis ​​locais são removidas da pilha na ordem inversa, portanto, a variável adicionada mais recentemente é a primeira a ser excluída.

Variáveis ​​globais

As variáveis ​​globais são declaradas no corpo principal do código-fonte do programa, fora de todas as funções e, portanto, existem em qualquer parte do código, mesmo dentro das funções. Variáveis ​​globais não são recriadas toda vez que uma função específica é chamada. Os programas geralmente usam variáveis ​​globais para armazenar dados que são processados ​​por muitas funções diferentes. Um programa simples de edição de texto, por exemplo, pode carregar o conteúdo do arquivo no qual você está trabalhando em uma variável global.

Vantagens e desvantagens

Variáveis ​​locais facilitam a depuração e a manutenção de programas de computador. Os programadores podem determinar o ponto exato no qual um programa modifica o valor de uma variável local, enquanto as variáveis ​​globais podem ser modificadas em qualquer lugar dentro do código-fonte. Variáveis ​​locais também produzem menos interações inesperadas com chamadas a funções, ou o mundo externo, conhecido como efeitos colaterais, do que variáveis ​​globais. As variáveis ​​globais são acessíveis em funções nas quais não são utilizadas, em contradição com o conceito de programação modular, em que o código do programa consiste em blocos ou pequenos módulos isolados, para que os programadores favoreçam a estrutura modular rara eles os usam