Diferença entre variável local e global

Principais diferenças entre variável local e variável global

  • 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 inicia a execução e são perdidas quando a função termina, por outro lado, uma 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 a variável global é armazenada 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

Diferença entre variável local e global

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 o intervalo de valores que precisam ser armazenados nessa memória e a natureza das operações que podem ser aplicadas a essa variável.

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 e não pode ser usado fora dessa função.
Existem três lugares onde variáveis ​​você pode declarar linguagem de programação de variáveis:

  • 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

Variável Local

Variável Local é definido como um tipo de variável declarada dentro de bloco de programação ou sub-rotinas. Só pode ser utilizado dentro da sub-rotina ou bloco de código em que é 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

A 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 toda a vida do programa. Conseqüentemente, ele pode ser acessado em todo o programa por qualquer função definida dentro do programa, a menos que esteja sombreada.

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 versus variáveis ​​globais

Aqui estão algumas diferenças fundamentais entre variáveis ​​locais e globais.

Parâmetro Locais Global
Objetivo É declarado dentro de uma função. É declarado fora da função.
Valor Se não for inicializado, um valor lixo será armazenado Se não for inicializado, zero será armazenado como padrão.
Lifetime Ele é criado quando a função inicia a execução e é perdido quando as funções terminam. 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 porque os dados da variável local podem ser acessados ​​por apenas uma função. O compartilhamento de dados é possível porque múltiplas funções podem acessar a mesma variável global.
Parâmetros Técnicos A passagem de parâmetros é necessária para variáveis ​​locais acessarem 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 alterações não são visíveis em outra função. Quando o valor da variável global é modificado em uma função, as alterações são visíveis no resto do programa.
Acessado por Variáveis ​​locais podem ser acessadas com a ajuda de instruções, dentro de uma função na qual são declaradas. Você pode acessar variáveis ​​globais por qualquer instrução do 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 de um programa
  • Você só precisa declarar a variável global uma única 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 acessam 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 enquanto a tarefa estiver em execução
  • Se várias tarefas alterarem uma única variável que está sendo executada simultaneamente, o resultado poderá ser imprevisível. Mas 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 o mesmo nome às variáveis ​​locais em funções diferentes porque elas só são reconhecidas pela função em que são declaradas.
  • As variáveis ​​locais são excluídas assim que qualquer função termina e liberam o espaço de memória que ocupa.

Desvantagens de usar variáveis ​​globais

  • Muitas variáveis ​​​​declaradas como globais permanecem na memória até que a execução do programa seja concluída. Isso pode causar problemas 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. Isto pode dar resultados imprevisíveis em ambientes multitarefa.
  • Se as variáveis ​​globais forem descontinuadas devido à refatoração do código, será necessário alterar todos os módulos onde elas 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 módulos.
  • Eles têm um escopo muito limitado.

O que é mais útil?

As variáveis ​​locais e globais são igualmente importantes ao escrever um programa em qualquer idioma. No entanto, um grande número de variáveis ​​globais pode ocupar uma memória enorme. Uma mudança indesejável nas variáveis ​​globais torna-se difícil de identificar. Portanto, é aconselhável evitar declarar variáveis ​​globais indesejadas.