Para escrever nossos programas em C++, precisamos saber como declarar variáveis e constantes que vão armazenar os dados processados. Nesta parte do tutorial, vamos aprender o básico variáveis e constantes.

Os conceitos básicos também foram discutido em Portugol: Variáveis sendo a leitura recomendada.

As variáveis em C++ são declaradas como na sintaxe abaixo. Todos os tipos de dados primitivos e fornecidos para biblioteca padrão podem ser utilizados.

Sintaxe
tipo_de_dado nome_variavel; //não iniciada
Exemplo 1
#include <iostrean>
int main(void)
{
    char sexo;
    int idade;

    return 0
}
Saída
-

A linguagem C++ permite que essa declaração seja feita em apenas uma linha. A sintaxe é semelhante ao que foi visto no exemplo acima. Nesse tipo de declaração os nomes das variáveis são separados por ",".

Sintaxe
tipo_de_dado nome_variavel1, nome_variavel2, nome_variavelN;
Exemplo 2
#include <iostream>
int main(void)
{
    int numero, idade, ano, mes;

    return 0;
}

A atribuição de valor a uma variáveis é feita utilizando o operador (=). Essa atribuição pode ser em linha ou não.

Sintaxe: declaração em linha
tipo_de_dado nome_variavel1 = valor;

tipo_de_dado nome_variavel1 = valor1, nome_variavel2 = valor2, nome_variavelN = valorN;
Exemplo 3
#include <iostream>
int main(void)
{
    int valor = 1;
    int numero = 100, idade = 100, ano = 2023, mes= 05;

    return 0;
}
Saída
-

As constantes têm seu conteúdo preservado durante toda a execução de nossos programas. Tanto a declaração quanto a atribuição são semelhantes ao que foi visto em variáveis.

As diferenças entre variável e constante estão na atribuição, que no caso da constante deve ser feita no momento da declaração e o uso da palavra reservada const.

Sintaxe
const tipo_de_dado nome_constante = valor;
Exemplo 4
#include <iostream>

const int CONSTANTE=10;

int main(void)
{
    //uso de CONSTANTE

    for(/*omitido*/)
    {
        //uso de CONSTANTE
    }

    return 0;
}
Saída
-

Assim como variáveis, C++ permite que essa declaração de constante seja feita em apenas uma linha. A sintaxe é semelhante ao que foi visto no exemplo acima. Nesse tipo de declaração os nomes das constantes e suas atribuições são separados por ",".

Sintaxe
 const tipo_dado nome_constante1 = valor1, nome_constante1 = valor2, nome_constante1 = valorN;
Exemplo 5
#include <iostream>

const int CONSTANTE1=10,CONSTANTE2=10,CONSTANTE3=10;

int main(void)
{
    //omitido

    return 0;
}

Uma vez declarada uma constante como no exemplo, qualquer atribuição de valor posterior a sua declaração irá gerar um erro de compilação:

Exemplo 6
#include <iostream>

const int CONSTANTE=10;

int main(void)
{
    CONSTANTE = 11;

    return 0;
}
Saída
error: assignment of read-only variable ‘CONSTANTE’.

Por boa prática, as constantes são declaradas em caixa alta utilizando a convensão Snake Case para se diferenciar das variáveis.

Para a declaração de variáveis e constantes na linguagem C++, precisamos entender como funcionam os escopos locais e globais e como funciona seus acessos à variáveis e constantes.

Para C++, quando declaramos uma função, as variáveis declaradas dentro de uma função é considerada uma variável local tendo seu contéudo descartado ao términa da execução da função.

Exemplo 7
#include <stdio.h>
void main(void)
{
    int valor1; //local

    for(/*omitido*/)
    {
        int valor2; //local
    }
}
Saída
-

No exemplo cima, as váriváeis valor1 e valor2 são variáveis locais pois estão declaradas dentros das funções main e comando for. O acesso a essas variáveis só pode ser feito no escopo onde foram criadas.

Variáveis que são declaradas fora da função main, por exemplo, são variáveis globais. Da mesma forma, variáveis e constantes criadas em arquivos .h também são globais.

As varíaveis declaradas nesse escopo global, permanecem "vivas" durante todo tempo de execução de nossos programas.

Exemplo 8
#include <stdio.h>

int valor;
const int CONSTANTE=10;

void main(void)
{
    //uso de valor
    //uso de CONSTANTE

    for(/*omitido*/)
    {
        //uso de CONSTANTE
        //uso de valor
    }
}
Saída
-

No exemplo cima, a váriváei valor1 é uma variáveis global pois está declarada fora da função main. O mesmo é válido para a constante CONSTANTE.

Para dar nomes identificadores(variáveis, constantes e etc), podemos utilizar as convensões Pascal, Snake ou Camel Case.

Exemplo 9

nomeVariavel : Camel Case
NomeVariavel : Pascal Case
nome_variavel : Snake Case

As convensões Pascal, Snake e Camel Case já foram explicadas em Portugol: Convensões no tutorial da linguagem Portugol e a leitura é recomendada.

Além da convensão, a linguagem C++ utiliza as seguintes regras que são suportadas para dar a identificadores como variáveis, constantes, macros, funções e outros:

  1. Não deve conter espaço;
  2. Não deve iniciar com números;
  3. Não deve conter caracteres especiais, exceto underscore (_);
  4. Não utilizar palavras reservadas;
Exemplo 10

Nomes de identificadores incorretos

int 1idade;
int idade pessoa;
int int; // palavra reservada;
int #idade;
Exemplo 11: Nomes de identificadores corretos
int idade;
int idade_pessoa;
int _idade;

Não é recomendado o uso de palavras reservadas como nome de identificadores. Caso mesmo assim,seja necessário o uso, utilizar caracteres como (_) ou ($) em frente ao nome do identificador.

Exemplo 11: Identificadores usando palavras reservadas
int $int;
int $float;
int $enum;

Agora que já temos conhecimento sobre os tipos básicos de dados presentes na linguagem C++, vamos ver alguns exemplos de declarações de variáveis com os tipos vistos em C++ Básico: Tipos de Dados.

Exemplo 12
#include 

int main()
{
    float vfloat = 1.99F; //F = float
    int vint = 777;
    char *str1 = "uma string em c++";
    char[] str2 = {'u','m','a',' ','s','t','r','i','n','g'};
    bool flag = false;
    char codigo = 10;
    char caracter = 'Z';
    char hex = 0xff;
    int vetor[] = {1,2,3};
    int matriz[][] = {{1,2},{3,4}};

    return 0;
}

Exemplos de declaração de enumeradores, unions e structs podem ser vistos em suas respectivas seções C++ Básico: Enum, C++ Básico: Struct e C++ Básico: Union.

Outros tipos de dados complexos, como classes e coleções serão vistos em C++ P.O.O e C++ Coleções.

A linguagem C++, assim como todas as linguagens de programação, têm um conjunto de palavras reservadas que possuem um significado único e não podem ser utilizadas em identificadores.

asm double new swicht
auto else operator template
break enum private this
case extern protected throw
catch float public try
char for register typedef
class friend return union
const goto short unsigned
continue if signed virtual
default inline sizeof void
delete int static volatile
do long struct while

Algumas palavras reservadas não serão abordadas neste tutorial básico sobre C++ sendo mencionadas em futuras atualizações.

  1. 28/07/2025 - revisão 4 - Adiçao/Correção em links internos; descriçao de algumas seções, exemplo 12; Ajustes em sintaxes
  2. 30/09/2024 - revisão 3 - Correção: 'constantes', 'escopo local', link 'portugol'; ajustes pontuais
  3. 30/08/2024 - revisão 2 - Correção em links de objetivos
  4. 09/02/2024 - revisão 1 - Correção em navegação, css, exemplos de constantes e erros gramaticais
  5. 30/06/2023 - versão inicial