Compreendendo variáveis
Atualizado
Atualizado
Variáveis são elementos fundamentais para armazenar e manipular dados durante a execução de um programa. Elas permitem que você represente valores e associe-os a identificadores únicos para uso posterior. Antes de usar uma variável, é necessário declará-la. A declaração informa ao compilador o tipo de dado que a variável armazenará e aloca memória para ela.
Deve começar com uma letra ou underscore (_
), mas não com um número.
✅ Correto: idade
, _altura
❌ Errado: 2anos
, @valor
Pode conter letras, números e underscores, mas não pode conter espaços nem caracteres especiais.
✅ Correto: valor_total
❌ Errado: valor total
, valor@total
Não pode usar palavras reservadas do C (ex.: int
, float
, return
, etc.).
A sintaxe básica para declarar variáveis em C é:
O local onde a variável é declarada determina onde ela pode ser usada:
Global: Declarada fora de funções, pode ser usada em qualquer parte do programa.
Local: Declarada dentro de uma função ou bloco, só pode ser usada naquele escopo.
Vale ressaltar que em C, a linguagem não possui um tipo de dado boolean
nativo como algumas linguagens modernas. No entanto, desde o padrão C99, existe a biblioteca <stdbool.h>
, que fornece suporte ao tipo booleano de forma prática.
Além desses, C também suporta modificadores de tipo como unsigned
para indicar que um número inteiro não deve ser negativo, e signed
para indicar que um número inteiro pode ser positivo ou negativo (o qual é implícito para tipos inteiros).
Embora que as variaveis podem ser alteradas na programação temos variáveis imutáveis aquelas que não pode ser alteradas depois de declaradas. Em C, #define
e const
são usados para finalidades semelhantes (definir valores constantes), mas são conceitos diferentes e têm nomes específicos:
define
— Directiva de pré-processador (Macro)O pré-processador de C, o que significa que ele actua antes da fase de compilação. Quando você usa #define
, o pré-processador simplesmente substitui todas as ocorrências da palavra definida pelo valor ou texto correspondente.
Aqui, WEIGHT_MAX
será substituído por 100
em todo o código onde aparecer. O #define
não possui tipo associado e ocorre durante o pré-processamento.
const
— Variável constanteconst
define uma variável constante, ou seja, uma variável cujo valor não pode ser alterado depois de inicializada. Ao contrário de uma macro, uma variável const
possui tipo e é verificada pelo compilador durante a fase de compilação.
Aqui, weightMax
é uma variável do tipo int
que não pode ser modificada. Diferente de #define
, ela tem um tipo definido (neste caso int
) e o compilador faz a verificação de tipo.
#define
e const
Tempo de avaliação: O #define
é processado pelo pré-processador antes da compilação, enquanto const
é avaliado durante a compilação.
Tipo: Uma macro #define
não possui tipo, enquanto uma variável const
é do tipo especificado (como int
, float
, etc.).
Escopo e visibilidade: As variáveis const
seguem as regras de escopo da linguagem C (local ou global), enquanto macros #define
têm escopo global, a menos que sejam usadas dentro de directivas condicionais.
Segurança: const
é mais seguro, já que está sob controle do compilador, com verificação de tipos.
Não ocupa memória: Diferente de variáveis, #define
não ocupa espaço de memória, já que a substituição ocorre antes da compilação.
Sem tipo: Como é uma substituição de texto, não tem tipo definido. É importante tomar cuidado com tipos e precedências ao usar macros.
Escopo global: As macros definidas com #define
são visíveis por todo o arquivo em que são declaradas, a menos que haja directivas condicionais.