sexta-feira, 15 de fevereiro de 2008

Criação e inicialização de variáveis

Na linguagem C a criação de variáveis é bastante simples. O comando de criação é formado pelo tipo de dados seguido de uma ou mais variáveis que assumirão aquele tipo e termina-se o comando com o famoso ponto-e-vírgula.
Ex.: Para criar uma variável do tipo char podemos fazer:


char opcao;


Por esse comando sabemos que existe no programa uma variável chamada opção que manipula dados do tipo char.
Para declarar uma lista de variáveis utilizamos o tipo de dado seguido dos identificadores das variáveis separados por vírgula e, finalmente, o término do comando dado pelo ponto-e-vírgula.
Ex.: Para criar uma lista de variáveis do tipo float podemos fazer:


float proventos, despesas, saldo;


Com base na linha anterior, podemos constatar que no programa existirão três variáveis de ponto flutuante que armazenarão valores relativos a proventos (dinheiro que entra em seu fluxo de caixa, tal como salário), despesas (aquilo que você gasta) e saldo (diferença entre proventos e despesas).
Agora que você sabe como criar variáveis vamos a inicialização delas. Vou contar uma estória triste. Quando uma variável nasce, ela recebe uma casa (chamada de memória) suja. A sujeira na casa da variável é representada por um valor aleatório e que, se não for limpa, poderá ser a causa de grandes problemas para o seu programa. Casa limpa é sinônimo da saúde.
A inicialização pode ocorrer no momento da criação da variável, por exemplo:


float proventos=0, despesas=0, saldo=0;


Isso indica que as três variáveis declaradas anteriormente são iniciadas com o valor 0. Agora sei que nelas existe um valor conhecido e não sujeira de memória.
Duas perguntas são freqüentes nesse tema:

  • Sou obrigado a inicializar uma variável?
A resposta é não. Se a variável, por exemplo, receberá um valor de uma leitura de dados ela não necessita de inicialização.
A inicialização é obrigatória quando a variável é utilizada para auto-alteração (auto-incremento, auto-decremento, auto-multiplicação, auto-etc...).

  • O valor a ser utilizado na inicialização é sempre zero?
A resposta é não. Imagine uma variável multiplicadora (auto-multiplicadora) que acumula o seu valor anterior e multiplica-o por um valor qualquer, por exemplo:


multiplicadora = multiplicadora * fatorCorrecao;
multiplicadora = multiplicadora * juros;


Se multiplicadora for inicializado com 0, o resultado final dessa operação será sempre 0. Então multiplicadora deverá ser inicializada com um número neutro no contexto da multiplicação. O valor que procuramos é o 1. Eu sempre digo que o valor inicial de uma variável depende do seu uso futuro.
Espero que tenha compreendido que declarar uma variável é mais do que escrever uma simples linha de código.

3 comentários:

Anônimo disse...

Como atribui um valor aleatório a uma variável?

Obrigado,

João Flávio

Unknown disse...

Show de bola essa explicação.
Agora entendo porque dos erros tipo ... -3242526262

Unknown disse...

Show de bola essa explicação.
Agora entendo porque dos erros tipo ... -3242526262