Diferença entre variável local e global

Índice:

Anonim

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.