Programar em C/Variáveis

Variáveis editar

Em um programa, existe a necessidade de se guardar valores na memória, e isso é feito através de variáveis, que podem ser definidas simplificadamente como nomes que se referem a lugares na memória onde são guardados valores. Ao declararmos uma variável, não apenas estamos reservando um espaço de memória, como também estamos associando um nome a ele, o identificador. Ao invés de utilizarmos o endereço da variável na memória, que seria geralmente notado na forma hexadecimal, como por exemplo 0x0012FED4, referimo-nos ao endereço apenas pelo seu nome. Apenas para deixar claro, a própria notação em hexadecimal já é uma simplificação, pois computadores na verdade trabalham com binário.

Em C, para utilizar uma variável, ela deve ser primeiramente declarada, ou seja, devemos requisitar o espaço necessário para essa variável. Após reservar um espaço na memória, o computador irá associar a ele o nome da variável. Se você não declarar uma variável e tentar utilizá-la, o compilador irá avisá-lo disso e não continuará a compilação.

Declarando variáveis editar

Genericamente, para declarar uma variável, usamos a seguinte instrução:

tipo_da_variável nome_da_variável;

Por exemplo, para declarar uma variável do tipo int com o nome a, podemos escrever

 int a;

É sempre necessário indicar o tipo da variável, pois cada tipo tem um tamanho diferente, ou seja, ocupa mais ou menos espaço na memória do computador. Mais adiante introduziremos os tipos de variável.

Atribuindo valores editar

Se quisermos associar um valor a uma variável, usamos o operador = (igual):

 a = 5;

Nesse caso, estamos pedindo que o computador guarde o valor 5 no espaço alocado à variável a.

Observação: Apesar de este operador se assemelhar ao igual da matemática, sua função é diferente. Para verificar a igualdade de dois valores, usamos o operador de comparação "==" (dois iguais).

É possível também atribuir um valor a uma variável ao mesmo tempo que ela é declarada, o que é chamado de inicializar a variável. Por exemplo:

 int a = 5;

É possível também declarar mais de uma variável de um mesmo tipo em uma única instrução, separando os nomes por vírgulas. Também é possível inicializar as variáveis dessa maneira:

 int a, b, c, d;
 int e = 5, f = 6;
 int g, h = 2, i = 7, j;

Como o próprio nome já diz, o valor existente numa variável pode ser mudado, da mesma maneira que ele é normalmente atribuído. Se tivermos:

int a;
a = 2;
a = 3;

no final o valor da variável a será 3.

Exemplo de erro editar

a = 25;

Mesmo sabendo que é um exemplo de erro, escreva o código acima em um arquivo .c e tente compilar para se familiarizar com as mensagens de erro do compilador, assim você saberá o que fazer quando elas ocorrerem.

No exemplo acima não foi declarada a variável a, ao tentar compilar o compilador informa que o símbolo a não foi definido.

Nomes de variáveis editar

Existem algumas restrições quanto ao nome que podemos dar a variáveis. Essas regras se aplicam também para nomear funções e estruturas.

  • Os nomes de variáveis devem ser únicos no mesmo escopo: não podemos ter duas variáveis com o mesmo nome.
  • O nome pode ser igual ao de outra variável já existente em escopo superior, porém é recomendado fortemente que não se use variáveis iguais sob pena de tornar o código do programa incompreensível ou de difícil análise;
  • O C, assim como muitas outras linguagens de programação, é sensível à utilização de maiúsculas e minúsculas(case sensitive). Portanto, o código a seguir seria válido e geraria três variáveis diferentes:
int nome;
int NOME;
int Nome;
  • Em nomes de variáveis, podemos usar letras maiúsculas ou minúsculas (de A a Z, sem acentos), algarismos arábicos (0-9) e o caractere sublinhado (_), mas o primeiro caractere deve ser uma letra ou o sublinhado.
  • Algumas palavras não podem ser usadas para nomes de variáveis por serem palavras reservadas (palavras que têm significado especial na linguagem).
  • O padrão C atual especifica que nomes de até 31 caracteres devem ser aceitos. Alguns compiladores podem até aceitar nomes maiores que isso, mas não considere isso uma regra e não use nomes tão longos.

Exemplo de variáveis em funcionamento editar

//TesteDeVariavel.c

#include<stdio.h>

int main()
{
    int a, b, c, d;
    
    a = 1;
    b = a;
    c = a + b;
    
    printf("o valor de c é: %i", c);
    
return 0;
}

No exemplo acima vemos que é atribuído o valor 1 para a variável "a", logo é atribuído o valor de "a" para a variável "b", e em seguida a variável "c" recebe os valores de "a" e "b" somados, resultando em 2.

Isso demonstra que podemos atribuir valores de variáveis existentes em novas variáveis.

Se adicionarmos.

 d = c / a;
    
 printf("o valor de d é: %i", d);

Teremos outro resultado apenas manipulando variáveis sem tocar no valor inicial.