Pular para conteúdo

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, strlen são todas funções prontas!


Anatomia da Função 🛠️

tipo_retorno nome(parametros) {
    // Corpo da função
    return valor;
}
  • int, float, char: Devolve um dado.
  • void: Não devolve nada.

Parâmetros: As Entradas 📥

Informações que a função precisa para funcionar.

void saudar(char nome[]) {
    printf("Olá %s", nome);
}

Return: A Saída 📤

Devolve o resultado do processamento.

int dobrar(int x) {
    return x * 2;
}

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 ➗

float soma(float a, float b) {
    return a + b;
}

float sub(float a, float b) {
    return a - b;
}

Por que usar funções? 🚀

  1. Reuso: Não repita código.
  2. Organização: main limpo.
  3. 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!


FIM DA AULA 09 ✨

Modularize e conquiste o código!