Variáveis e tipos
Guarde valores em caixas de memória com nome e aprenda por que toda caixa em C tem um tipo e um tamanho.
- Declarar e inicializar variáveis dos tipos básicos
- Escolher entre
int,doubleecharpara um valor - Usar
sizeofe explicar por que os tipos têm tamanhos
Uma variável é um pedaço de memória com nome que guarda um valor. Em C, você precisa dizer que tipo de valor cada variável guarda - o tipo dela - antes de usá-la. O tipo diz ao compilador quantos bytes reservar e como interpretá-los.
1#include <stdio.h>
2
3int main(void) {
4 int age = 30;
5 double height = 1.75;
6 char grade = 'A';
7
8 printf("Age: %d\n", age);
9 printf("Height: %.2f m\n", height);
10 printf("Grade: %c\n", grade);
11 return 0;
12}Age: 30 Height: 1.75 m Grade: A
Declarando e inicializando
int age = 30; faz duas coisas: declara uma variável chamada age do tipo int e a inicializa com o valor 30. Você também pode declarar primeiro e atribuir depois:
int score; // declared, but holds garbage until assigned!
score = 100; // assignment
score = score + 5;Os nomes de variáveis podem usar letras, dígitos e sublinhados, não podem começar com um dígito e diferenciam maiúsculas de minúsculas: total e Total são variáveis diferentes. Escolha nomes que digam o que o valor significa: student_count, e não n.
Os tipos básicos
| Tipo | Guarda | Tamanho típico | Formato do printf |
|---|---|---|---|
char | um caractere (na verdade, um inteiro pequeno) | 1 byte | %c |
int | números inteiros | 4 bytes | %d |
long | números inteiros maiores | 8 bytes na maioria dos sistemas de 64 bits | %ld |
float | números decimais, ~7 dígitos de precisão | 4 bytes | %f |
double | números decimais, ~15 dígitos de precisão | 8 bytes | %f |
Os tipos inteiros também podem ser unsigned (unsigned int), o que troca os números negativos pelo dobro do alcance positivo. Para decimais, prefira double a float, a menos que tenha um motivo - a precisão extra quase sempre compensa.
Tamanhos e sizeof
Todo tipo ocupa um número fixo de bytes, e o operador sizeof diz quantos. Os tamanhos podem variar entre plataformas (o padrão do C só garante mínimos), e é justamente por isso que o sizeof existe: nunca fixe no código um tamanho que você pode perguntar ao compilador. O sizeof produz um valor do tipo size_t, que você imprime com %zu.
1#include <stdio.h>
2
3int main(void) {
4 printf("char: %zu byte\n", sizeof(char));
5 printf("int: %zu bytes\n", sizeof(int));
6 printf("double: %zu bytes\n", sizeof(double));
7 return 0;
8}char: 1 byte int: 4 bytes double: 8 bytes
Caracteres são números
Um char é um inteiro de um byte. Os literais de caractere entre aspas simples, como 'A', são só um jeito amigável de escrever o código daquele caractere - 65 para 'A' em ASCII. Isso significa que você pode fazer contas com caracteres:
1#include <stdio.h>
2
3int main(void) {
4 char letter = 'A';
5 printf("%c is %d\n", letter, letter);
6 printf("Next letter: %c\n", letter + 1);
7 return 0;
8}A is 65 Next letter: B
Constantes
Se um valor nunca deve mudar, diga isso com const: const double PI = 3.14159;. O compilador vai recusar qualquer atribuição posterior a ele, o que documenta a sua intenção e pega erros. Você também vai ver #define PI 3.14159 em código mais antigo - uma substituição de texto do pré-processador, sem tipo. Prefira const para valores.
Principais conclusões
Toda variável tem um tipo que fixa o tamanho e o significado dela. Declare-a e inicialize-a - variáveis locais não inicializadas guardam lixo.
Use
intpara números inteiros,doublepara decimais echarpara caracteres individuais (que são inteiros pequenos).Pergunte os tamanhos com
sizeof(impresso com%zu) em vez de supor, e marque comoconstos valores que nunca mudam.
Quiz da aula
6 perguntas · aprovação com 5 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Pratique: escreva código em C
Estes exercícios rodam de verdade. Escreva o programa, clique em “Executar testes” e leia o que o compilador informa: aprender a ler as mensagens do compilador é metade do aprendizado de C.
Cartão de perfil
Crie variáveis para uma pessoa e imprima-as. Use um int chamado age com o valor 21, um double chamado gpa com o valor 3.8 e um char chamado initial com o valor 'K'. Imprima exatamente:
Initial: K
Age: 21
GPA: 3.8Imprima o GPA com um dígito depois do ponto decimal (%.1f).
- Imprime o perfil
Seu código é compilado com gcc 14 (-Wall -Wextra) e executado no Compiler Explorer (godbolt.org), um serviço público gratuito.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…