Funções e Modularização 📦
Aula 09 - Dividindo para Conquistar
O que vamos aprender hoje? 📅
- O que são funções?
- Anatomia de uma Função
- Parâmetros e Retorno
- Protótipos (Declaração vs Definição)
- Escopo de Variáveis
- Boas Práticas: Modularização
O Problema do Main Gigante 😱
Escrever tudo no main() é como guardar tudo em uma única gaveta.
- Fica difícil de achar erros.
- Não dá para reaproveitar código.
- Fica impossível de ler.
A Solução: Funções 🧩
Uma função é um "subprograma" que executa uma tarefa específica.
Exemplo:
printf,scanf,strlensão todas funções prontas!
Anatomia da Função 🛠️
- int, float, char: Devolve um dado.
- void: Não devolve nada.
Parâmetros: As Entradas 📥
Informações que a função precisa para funcionar.
Return: A Saída 📤
Devolve o resultado do processamento.
Protótipos 📑
Aviso prévio para o compilador.
#include <stdio.h>
void f1(); // Protótipo
int main() {
f1();
}
void f1() { // Definição
printf("Oi");
}
Escopo: Onde eu existo? 🌐
- Local: Existe apenas dentro da função
{ }. - Global: Existe em todo o arquivo (Perigo! Evite!).
Passagem por Valor 💎
Em C, quando passamos uma variável para a função, ela recebe uma COPIA.
Mudar o valor lá dentro não muda o valor aqui fora.
Exemplo: Calculadora ➗
Por que usar funções? 🚀
- Reuso: Não repita código.
- Organização:
mainlimpo. - Clareza: Nomes de funções explicam o que o código faz.
Desafio da Aula 🚀
Crie a "Biblioteca de Formas": Funções que desenham linhas e quadrados de tamanhos diferentes.
Próxima Aula 🔜
Aula 10 - Ponteiros (Introdução)
Como o C acessa diretamente a memória? O pesadelo e o poder do C! 🧠
Dúvidas? 🤔
Mãos à obra nos exercícios!