O que é uma variável?
Variável é um nome atribuído a uma área de armazenamento que o programa pode manipular. Um tipo de variável determina o tamanho e o layout da memória da variável.
Ele também determina a faixa de valores que precisam ser armazenados dentro dessa memória e a natureza das operações que podem ser aplicadas a essa variável.
Neste tutorial, você aprenderá
- Escopo das Variáveis
- Definição de Variável Local
- Definição de Variável Global
- Variável Local vs. Variáveis Globais
- Vantagens de usar variáveis globais
- Vantagens de usar variáveis locais
- Desvantagens de usar variáveis globais
- Desvantagens de usar variáveis locais
- O que é mais útil?
Escopo das Variáveis
O escopo da variável é simplesmente o tempo de vida de uma variável. É um bloco de código sob o qual uma variável é aplicável ou ativa. Por exemplo:
function foo(){var x;}
Você declara uma variável "x" dentro de uma função "foo". O escopo dessa variável permanece dentro dessa função, não pode ser usado fora dessa função.
Existem três lugares onde você pode declarar variáveis de linguagem de programação:
- Dentro de uma função ou bloco: Variáveis locais
- Fora de todas as funções: variáveis globais
- Na definição de parâmetros de função: Parâmetros formais
DIFERENÇA CHAVE
- A variável local é declarada dentro de uma função, enquanto a variável global é declarada fora da função.
- Variáveis locais são criadas quando a função iniciou a execução e são perdidas quando a função termina, por outro lado, a variável global é criada quando a execução começa e é perdida quando o programa termina.
- A variável local não fornece compartilhamento de dados, enquanto a variável global fornece compartilhamento de dados.
- As variáveis locais são armazenadas na pilha, enquanto as variáveis globais são armazenadas em um local fixo decidido pelo compilador.
- A passagem de parâmetros é necessária para variáveis locais, enquanto não é necessária para uma variável global
Variável Local
Variável local é definida como um tipo de variável declarada dentro do bloco de programação ou sub-rotinas. Só pode ser usado dentro da sub-rotina ou bloco de código em que foi declarado. A variável local existe até que o bloco da função esteja em execução. Depois disso, ele será destruído automaticamente.
Exemplo de variável local
public int add(){int a =4;int b=5;return a+b;}
Aqui, 'a' e 'b' são variáveis locais
Variável Global
Uma variável global no programa é uma variável definida fora da sub-rotina ou função. Tem um escopo global, o que significa que mantém seu valor durante todo o ciclo de vida do programa. Portanto, ele pode ser acessado em todo o programa por qualquer função definida dentro do programa, a menos que seja ocultado.
Exemplo:
int a =4;int b=5;public int add(){return a+b;}
Aqui, 'a' e 'b' são variáveis globais.
Variável local vs. Variáveis globais
Aqui estão algumas diferenças fundamentais entre as variáveis locais e globais.
Parâmetro | Local | Global |
---|---|---|
Escopo | É declarado dentro de uma função. | É declarado fora da função. |
Valor | Se não for inicializado, um valor de lixo é armazenado | Se não for inicializado, o zero é armazenado como padrão. |
Vida | Ele é criado quando a função começa a ser executada e perdido quando as funções são encerradas. | Ele é criado antes do início da execução global do programa e perdido quando o programa termina. |
Compartilhamento de dados | O compartilhamento de dados não é possível, pois os dados da variável local podem ser acessados por apenas uma função. | O compartilhamento de dados é possível, pois várias funções podem acessar a mesma variável global. |
Parâmetros | A passagem de parâmetros é necessária para variáveis locais para acessar o valor em outra função | A passagem de parâmetros não é necessária para uma variável global, pois é visível em todo o programa |
Modificação do valor da variável | Quando o valor da variável local é modificado em uma função, as mudanças não são visíveis em outra função. | Quando o valor da variável global é modificado em uma função, as mudanças são visíveis no resto do programa. |
Acessado por | Variáveis locais podem ser acessadas com o auxílio de instruções, dentro de uma função na qual são declaradas. | Você pode acessar variáveis globais por qualquer instrução no programa. |
Armazenamento de memória | Ele é armazenado na pilha, a menos que seja especificado. | Ele é armazenado em um local fixo decidido pelo compilador. |
Vantagens de usar variáveis globais
- Você pode acessar a variável global de todas as funções ou módulos em um programa
- Você só precisa declarar a variável global uma vez fora dos módulos.
- É idealmente usado para armazenar "constantes", pois ajuda a manter a consistência.
- Uma variável global é útil quando várias funções estão acessando os mesmos dados.
Vantagens de usar variáveis locais
- O uso de variáveis locais oferece uma garantia de que os valores das variáveis permanecerão intactos durante a execução da tarefa
- Se várias tarefas alteram uma única variável em execução simultaneamente, o resultado pode ser imprevisível. Porém, declará-la como variável local resolve esse problema, pois cada tarefa criará sua própria instância da variável local.
- Você pode dar às variáveis locais o mesmo nome em funções diferentes porque elas são reconhecidas apenas pela função em que são declaradas.
- Variáveis locais são deletadas assim que qualquer função termina e libera o espaço de memória que ocupa.
Desvantagens de usar variáveis globais
- Muitas variáveis declaradas como globais, elas permanecem na memória até que a execução do programa seja concluída. Isso pode causar o problema de falta de memória.
- Os dados podem ser modificados por qualquer função. Qualquer instrução escrita no programa pode alterar o valor da variável global. Isso pode dar resultados imprevisíveis em ambientes multitarefa.
- Se as variáveis globais forem descontinuadas devido à refatoração de código, você precisará alterar todos os módulos onde são chamadas.
Desvantagens de usar variáveis locais
- O processo de depuração de uma variável local é bastante complicado.
- Dados comuns necessários para passar repetidamente, pois o compartilhamento de dados não é possível entre os módulos.
- Eles têm um alcance muito limitado.
O que é mais útil?
A variável local e global é igualmente importante ao escrever um programa em qualquer idioma. No entanto, um grande número da variável global pode ocupar uma memória enorme. Uma mudança indesejável nas variáveis globais tornou-se difícil de identificar. Portanto, é aconselhável evitar declarar variáveis globais indesejadas.