aula 107

O que é uma Variável Global e Escopo da Variável?

Até o momento toda variável que criamos sempre estava dentro do procedimento INICIO ou dentro de alguma outra função ou procedimento. Estas variáveis recebem o nome de variável LOCAL, pois apenas são visíveis dentro da função / procedimento onde foram criadas.

Hoje iremos conhecer o que é uma Variável Global e Escopo de Variável.

De uma olhada com atenção no trecho de código a seguir

programa{

	/* Aula 107: Variável global e escopo de variável.
	* 
	* Escrito por Wagner Gaspar
	* Março de 2021
	*/

	inteiro m = 50
	
	funcao imprimir(inteiro y){
		y++
		escreva("\nY dentro de imprimir: ", y)
		escreva("\nM dentro de imprimir: ", m)
		m++
	}
	
	funcao inicio(){
		inteiro x = 10

		imprimir(x)
		
		escreva("\nX dentro de inicio: ", x)
		escreva("\nM dentro de inicio: ", m, "\n")
	}
}

Dentro do procedimento inicio temos a variável do tipo inteiro x com o valor 10. Como já vimos, esta variável é local. Dizer que uma variável é local significa dizer que ela é restrita a uma parte do programa. A variável x apenas pode ser acessada dentro do procedimento inicio onde foi criada. Dizemos que este é o escopo da variável, ou ainda, o escopo de x é o procedimento inicio.

Se alguma outra função ou procedimento precisa do conteúdo da variável x, então precisamos passar seu valor como parâmetro para a função / procedimento, como foi feito ao chamar o procedimento imprimir(x).

Dentro do procedimento imprimir, o parâmetro foi recebido com o identificador y. Perceba que na primeira linha foi feito um incremento na variável y. Contudo, quando o procedimento imprimir é finalizado e a execução do nosso programa volta para o procedimento inicio e imprimirmos o valor de x, percebemos que ela continua com o valor 10. Isso acontece porque, ao passar x como parâmetro, é feito uma cópia de seu valor. Assim, qualquer alteração feita dentro de imprimir é feito apenas na cópia que foi passada como parâmetro.

Também temos uma variável do tipo inteiro chamada m com o valor 50 (você viu ela né?). A variável m está dentro do corpo do nosso programa. Contudo, não está dentro de nenhuma função ou procedimento. A variável m é um exemplo do que chamamos de variável global. O escopo da variável m é global pois pode ser acessada em qualquer parte do nosso programa, por qualquer função ou procedimento.

Variáveis globais são muito úteis, contudo devem ser usadas com bastante atenção.

Perceba que dentro do procedimento imprimir, além de imprimir o valor de m, que é 50, também estamos incrementando a variável m. Dessa forma, ao retornar para o procedimento inicio e imprimir novamente o valor da variável m, será impresso agora 51 e não 50.

Como já foi dito, uma variável global é vista em qualquer parte do programa, as alterações feitas nela também.


Deixe um comentário

10 − dois =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.