Aula 02 – Estrutura de um Programa em C 🏗️
Na aula anterior, rodamos nosso primeiro código. Hoje, vamos desmontar um programa C para entender cada uma de suas peças e como elas se encaixam durante o processo de compilação.
🧩 Anatomia de um Código C
Todo programa em C possui elementos fundamentais que garantem seu funcionamento. Observe o exemplo abaixo:
#include <stdio.h> // 1. Diretiva do Pré-processador
/*
2. Comentário de múltiplas linhas:
Este programa imprime uma saudação.
*/
int main() { // 3. Ponto de Entrada (Função Principal)
// 4. Instrução ou Comando (Statement)
printf("Entendendo a estrutura do C!\n");
return 0; // 5. Valor de Retorno
}
Explicação dos Componentes:
#include <stdio.h>: Avisa ao compilador que usaremos funções de entrada e saída (como oprintf).- Comentários: Texto ignorado pelo compilador, usado para explicar o código (
//para uma linha ou/* ... */para blocos). int main(): A "chave de ignição". Todo código C começa a ser executado aqui.- Chaves
{ }: Delimitam o início e o fim de um bloco de código. - Ponto e vírgula
;: Indica o final de uma instrução. Omiti-lo é o erro mais comum de iniciantes!
⚙️ O Ciclo de Vida do Código (Compilação)
Não escrevemos algo que o processador entende diretamente. O código passa por 3 etapas principais:
graph TD
A["Código Fonte (.c)"] --> B["Pré-processador"]
B -- "Código Expandido" --> C["Compilador"]
C -- "Código de Máquina (.o / .obj)" --> D["Linker"]
D -- "Bibliotecas Externas" --> E["Executável (.exe / .out)"]
style A fill:#e1f5fe
style E fill:#c8e6c9
- Pré-processador: Trata as linhas que começam com
#(inclui arquivos e substitui macros). - Compilador: Traduz o código C para linguagem de montagem (assembly) e depois para código de objeto.
- Linker: Une seu código com as bibliotecas do sistema (como a
stdio) para criar o executável final.
💻 Prática: Compilando com Nome Personalizado
No terminal, podemos dar qualquer nome ao nosso programa usando a flag -o (output).
⚠️ Erros Comuns e Como Corrigi-los
[!WARNING] Syntax Error: Geralmente causado por falta de
;ou fechar chaves}incorretamente. O compilador indicará a linha aproximada do erro.[!TIP] Dica: Sempre indente seu código (use espaços/tabs no início das linhas). Isso ajuda a visualizar onde começam e terminam as funções.
🚀 Mini-Projeto da Aula: "O Calculador de Área"
Objetivo: Criar um arquivo chamado area.c que use múltiplos printf para exibir a fórmula de cálculo da área de um quadrado (\(A = L^2\)) acompanhado de um desenho do quadrado feito com caracteres.
Exemplo de Saída:
📝 Exercícios de Fixação
- Qual a função das bibliotecas (headers) terminadas em
.h? - Crie um programa com um erro proposital (tire o
;) e observe a mensagem do GCC. O que ela diz? - Escreva um programa que use comentários para explicar o que cada linha do seu código faz.