Escolar Documentos
Profissional Documentos
Cultura Documentos
1 de 2
Variáveis locais
Variáveis locais são aquelas nas quais apenas a função onde ela está pode usá-la. Por
exemplo, se declaramos int x dentro da função main, apenas a função main poderá utilizá-la
para guardar dados e nenhuma outra função poderá utilizar o int x da função main. Veja:
#include <iostream>
#include <cstdlib>
using namespace std;
Variáveis globais
As variáveis globais são declaradas da mesma forma que uma variável local - primeiro o tipo,
depois o nome da variável. Mas a diferença é que esta variável é declarada fora de qualquer
função. Por convenção, geralmente, utilizamos um underline (_) no começo do nome da
variável para facilitar a leitura do programa e facilmente percebermos de que se trata de uma
variável global.
Variáveis globais podem ser utilizadas por qualquer função. E qualquer função pode alterar o
valor, utilizá-la em um processo ou até mesmo atribuir o valor que quiser.
#include <iostream>
#include <cstdlib>
using namespace std;
http://www.tiexpert.net/programacao/c/variaveis-globais-e-locais.php
www.tiexpert.net Pág. 2 de 2
cout <<"\nO valor de X e "<<x;
cout <<"\n\nDeseja reiniciar o programa?\n1.\t\tSIM\nOutro numero\tNAO\n";
cin >> opcao;
cin.ignore ();
if (opcao==1)
main (); //reiniciar o programa
return 0;
}
Perceba que a variável _iniciado está sendo usada nas duas funções - main e start. Toda vez
que a função start é chamada, é incrementado (somado) um a _iniciado. Prestemos atenção
no seguinte também, dentro da função main também tem uma variável chamada x que toda
vez que chamamos main deve ser incrementada (x++).
Então, por que apenas o valor de _iniciado muda e x continua sempre 1?
É aí que está a vantagem e também a desvantagem da variável global.
A variável global está constantemente na memória. O fato de reiniciar o programa ou não,
pouco importa, porque o valor de _iniciado nunca é reinicializado quando chamamos uma
função. A não ser que em algum lugar do programa nós especifiquemos isso.
Já as variáveis locais estão presas as funções. Cada vez que chamamos uma função, também
chamamos as variáveis dentro da função. Se finalizamos uma função, também finalizamos a
variável. Resumindo, se reiniciamos a função, também reiniciamos a variável daquela função.
A desvantagem da variável global é a dificuldade de lidar com ela. Devemos usar variáveis
globais apenas quando realmente necessário.
Porque, imagine usar uma variável global e dentro de nosso programa tem 10 ou mais
funções, todas elas utilizando a mesma variável global e alterando seu valor. Ao final de todas
as operações, dificilmente saberemos qual será seu resultado. Ou seja, isso dificultará a lógica
do nosso programa, deixando-o difícil de interpretar.
http://www.tiexpert.net/programacao/c/variaveis-globais-e-locais.php