⚙️ C++

Variáveis e Tipos de Dados em C++

O que é e para que serve?

Imagine que você está jogando um jogo de computador. Você tem um inventário: uma espada, uma poção de vida, moedas de ouro. Na programação é a mesma coisa — precisamos de algum lugar para armazenar os dados com os quais o programa trabalha. Variáveis são como caixinhas ou gavetas onde você pode colocar um número, uma palavra ou algo mais. Cada gaveta tem um nome (por exemplo, quantidade_de_vidas ou nome_do_heroi), e nela só se pode colocar um tipo específico de coisa: em uma, números; em outra, texto; em uma terceira, sim/não.

Tipos de dados são as regras que dizem: "Nesta caixinha só se pode colocar números inteiros", "E nesta, só palavras". Para que serve isso? Para que o computador não se confunda: se você disse que na caixa há um número, então se pode somar, subtrair e multiplicar números. E se lá há texto, então se pode fazer outras operações: juntar palavras, procurar letras. Sem tipos de dados seria um caos — como se no jogo a espada de repente virasse uma poção, e as moedas começassem a falar.

Para um estudante, isso é importante porque qualquer programa é um trabalho com dados. Quer fazer uma calculadora? Precisa de números. Quer um jogo com diálogos? Precisa de strings (texto). Quer verificar se o jogador passou de fase? Precisa de valores lógicos (verdadeiro/falso). Variáveis e tipos são a base sobre a qual todo o resto é construído.

Sintaxe e exemplos de código

Em C++, você precisa primeiro declarar a variável — dizer ao computador: "Escuta, eu quero uma caixinha com tal nome, e nela vão estar tais dados". Isso é feito assim: primeiro escrevemos o tipo de dado, depois o nome da variável, depois (se necessário) o sinal de igual e o valor.

#include <iostream>  // para poder exibir texto na tela
using namespace std;  // para não precisar escrever std:: antes de cada palavra

int main() {
    // Exemplo 1: número inteiro (int)
    int idade = 14;  // criamos a variável "idade" do tipo int (número inteiro) e colocamos 14
    cout << "Minha idade: " << idade << endl;  // exibimos na tela

    // Exemplo 2: número de ponto flutuante (double) — para frações
    double altura = 1.65;  // altura em metros, pode armazenar 1.65
    cout << "Minha altura: " << altura << " m" << endl;

    // Exemplo 3: texto (string)
    string nome = "Alice";  // palavra ou frase entre aspas
    cout << "Meu nome é " << nome << endl;

    // Exemplo 4: tipo lógico (bool) — apenas true (verdadeiro) ou false (falso)
    bool gostaDeProgramacao = true;  // true = 1, false = 0
    cout << "Gosta de programar? " << gostaDeProgramacao << endl;  // exibirá 1 (porque é true)

    // Exemplo 5: caractere (char) — uma letra ou dígito entre aspas simples
    char primeiraLetra = 'A';
    cout << "Primeira letra do nome: " << primeiraLetra << endl;

    return 0;  // programa terminou com sucesso
}

Observe: em C++, cada expressão termina com ponto e vírgula ;. Se você esquecê-lo, o programa não compilará (o computador não entenderá onde termina o comando).

Outro exemplo — como as variáveis podem ser alteradas:

int pontos = 0;        // primeiro 0
pontos = 10;           // agora 10
pontos = pontos + 5;   // agora 15 (pegamos o valor antigo, somamos 5)
cout << pontos << endl;  // exibirá 15

O tipo de dado não pode ser alterado: se você declarou int, depois não pode colocar texto lá. O computador vai reclamar.

Comparação com Python

Em Python, tudo é mais simples: não é necessário especificar o tipo de dado. O Python adivinha sozinho o que você quis dizer. Mas por essa simplicidade, paga-se com velocidade e rigor — em C++, você sabe exatamente quanta memória cada variável ocupa, e o programa funciona mais rápido.

Veja como os mesmos exemplos ficam em Python:

# Python: não precisa escrever int, string, bool — o tipo é determinado automaticamente
idade = 14          # O Python entendeu sozinho que é um número
altura = 1.65       # e este é um número fracionário
nome = "Alice"      # isto é uma string
gostaDeProgramacao = True  # tipo lógico
primeiraLetra = 'A'  # caractere (em Python, isso também é uma string, mas de um caractere)

print("Minha idade:", idade)
print("Minha altura:", altura, "m")
print("Meu nome é", nome)
print("Gosta de programar?", gostaDeProgramacao)
print("Primeira letra do nome:", primeiraLetra)

Notou a diferença? Em C++ escrevemos int idade = 14;, e em Python simplesmente idade = 14. O Python não exige declaração de tipo — ele olha para o valor e decide sozinho. Mas se em C++ você tentar escrever int idade = "Alice";, o compilador dará erro. Em Python, você pode escrever idade = "Alice", e ele não vai reclamar — mas depois, se você tentar somar a idade com um número, o programa quebrará durante a execução.

Outra diferença: em C++, você precisa incluir bibliotecas (por exemplo, #include <iostream> para exibir na tela), enquanto em Python muitas coisas já estão embutidas. Para um estudante, Python é mais fácil para começar, mas C++ proporciona uma compreensão mais profunda de como o computador funciona.

Erros típicos de iniciantes

  • Esquecer o ponto e vírgula. Este é o erro mais comum. O compilador dirá: "Erro: esperava-se ponto e vírgula". Basta colocar ; no final de cada comando.
  • Usar uma variável não declarada. Se você escrever cout << x;, e a variável x não foi declarada, o compilador não entenderá o que é isso. Sempre declare primeiro: int x = 5;
  • Confundir as aspas. Para strings (vários caracteres) são necessárias aspas duplas: "Olá". Para um único caractere, aspas simples: 'A'. Se confundir, dará erro.
  • Atribuir um valor de tipo incorreto. Por exemplo, int a = 3.14; — o compilador pode avisar que a parte fracionária será perdida (será 3).