Nesta aula, você aprenderá os fundamentos das variáveis na linguagem C, essenciais para armazenar e manipular dados. Variáveis são espaços na memória que guardam valores de tipos específicos. Dominar a declaração, inicialização e os tipos básicos é o primeiro passo para escrever programas eficientes e corretos.

Vamos explorar os tipos primitivos mais comuns: int para números inteiros, float e double para números de ponto flutuante, e char para caracteres. Também veremos boas práticas na escolha de nomes de variáveis.

Declaração

Em C, toda variável deve ser declarada antes de ser usada. A declaração informa ao compilador o tipo e o nome da variável, permitindo que ele reserve espaço na memória. A sintaxe básica é: tipo nome;. Por exemplo:

int idade;
float altura;
char inicial;

É possível declarar várias variáveis do mesmo tipo em uma única linha, separando-as por vírgulas:

int a, b, c;

Declarar variáveis próximas ao seu uso melhora a legibilidade e evita confusões. Além disso, a partir do padrão C99, você pode declarar variáveis em qualquer lugar do código, não apenas no início de um bloco.

int, float, double, char

int: Armazena números inteiros (sem parte fracionária). Ocupa tipicamente 4 bytes (32 bits) em sistemas modernos, com intervalo de -2.147.483.648 a 2.147.483.647. Exemplo:

int contador = 10;

float: Números de ponto flutuante de precisão simples (aproximadamente 7 dígitos decimais). Ocupa 4 bytes. Deve-se usar o sufixo f para literais float, caso contrário o compilador pode interpretar como double.

float temperatura = 23.5f;

double: Ponto flutuante de precisão dupla (aproximadamente 15 dígitos decimais). Ocupa 8 bytes. É o tipo padrão para literais de ponto flutuante.

double pi = 3.141592653589793;

char: Armazena um único caractere (letra, dígito, símbolo). Ocupa 1 byte. Na prática, armazena um valor inteiro correspondente ao código ASCII do caractere.

char letra = 'A';

É importante escolher o tipo adequado para cada uso: int para contagens, float/double para cálculos científicos, char para caracteres. O uso incorreto pode causar perda de precisão ou estouro de memória.

Inicialização

Inicializar uma variável significa atribuir um valor a ela no momento da declaração. Isso evita que a variável contenha lixo da memória. A sintaxe é: tipo nome = valor;.

int ano = 2025;
float salario = 3500.50f;
char genero = 'M';

Se você declarar uma variável sem inicializá-la, seu valor é indefinido (pode ser qualquer coisa). Usar uma variável não inicializada é um erro comum e perigoso. Exemplo de erro:

int x;
printf("%d", x); // Comportamento indefinido!

Em C, você pode inicializar múltiplas variáveis na mesma linha:

int a = 1, b = 2, c = 3;

Também é possível inicializar um char com um valor inteiro (código ASCII):

char letra = 65; // Equivalente a 'A'

Sempre que possível, inicialize suas variáveis. Isso torna o código mais seguro e legível.

Convenções de nomes

Nomes de variáveis em C devem seguir algumas regras e boas práticas:

  • Devem começar com uma letra (a-z, A-Z) ou sublinhado (_).
  • Os caracteres seguintes podem ser letras, dígitos ou sublinhados.
  • Não podem usar palavras reservadas (como int, float, if, etc.).
  • O C é case-sensitive: idade e Idade são diferentes.
  • Recomenda-se usar nomes descritivos, como salarioBruto em vez de sb.
  • Convenções comuns: camelCase (ex.: meuSalario) ou snake_case (ex.: meu_salario). Escolha um padrão e seja consistente.
  • Evite sublinhado no início (são reservados para implementações internas).

Exemplos de nomes válidos e inválidos:

int idade;          // Válido
float _temp;        // Válido, mas não recomendado
double 2x;          // Inválido (começa com dígito)
char meu-nome;      // Inválido (hífen não permitido)
int if;             // Inválido (palavra reservada)

Seguir boas convenções torna o código mais legível e fácil de manter.

Referências

Exercícios

  1. Declare uma variável do tipo int chamada populacao e inicialize com o valor 1000000. Em seguida, declare uma variável float chamada taxa_crescimento e inicialize com 0.025.
  2. ✓ Resposta:
    int populacao = 1000000;
    float taxa_crescimento = 0.025f;
  3. O que há de errado na declaração: char 1a_inicial = 'B';? Corrija.
  4. ✓ Resposta: O nome da variável começa com um dígito, o que é inválido. Correção: char primeira_inicial = 'B';
  5. Escreva um programa que declare uma variável double chamada preco e inicialize com 49.99. Depois, imprima seu valor usando printf.
  6. ✓ Resposta:
    #include <stdio.h>
    
    int main() {
        double preco = 49.99;
        printf("Preco: %.2f\n", preco);
        return 0;
    }
  7. Qual é o valor armazenado na variável char c = 65;? Explique.
  8. ✓ Resposta: O valor armazenado é o caractere 'A', pois 65 é o código ASCII da letra 'A' maiúscula. Em C, um char pode ser tratado como um número inteiro pequeno.
  9. Converta o seguinte trecho de código para usar nomes de variáveis mais descritivos e seguindo boas práticas: int a = 10; float b = 20.5; char c = 'M';
  10. ✓ Resposta:
    int quantidade = 10;
    float temperatura = 20.5f;
    char sexo = 'M';

Boas práticas finais

Sempre declare variáveis com o tipo mais adequado para evitar desperdício de memória e perda de precisão. Inicialize todas as variáveis no momento da declaração. Use nomes claros e consistentes. Lembre-se de que o C é uma linguagem de tipagem estática: o tipo de uma variável não muda após a declaração. Pratique bastante para internalizar esses conceitos.