0Pricing
C Academy · Aula

Macros e funções inline

Explore definições de macros e suas vantagens em relação às funções.

Macros e funções inline é uma aula grátis de C Academy no CoddyKit. Esta é a aula 2 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C Academy inclui 3 aulas no total.

Introdução às macros

Macros e funções em linha

Macros e funções em linha ajudam a otimizar o código ao reduzir a sobrecarga das chamadas de função.

Nesta lição, você aprenderá:

  • Como definir e usar macros.
  • Os benefícios das funções em linha em relação às macros.
  • Como macros e funções em linha melhoram o desempenho.
Macros e funções inline — ilustração 1

O que é uma macro?

O que é uma macro?

Uma macro é uma diretiva do pré-processador que substitui código antes da compilação.

Exemplo:

#define SQUARE(x) (x * x)

Agora, SQUARE(5) é substituído por (5 * 5) durante a compilação.

Exemplo: usando macros

Exemplo: usando macros

Este programa demonstra como usar uma macro para realizar cálculos.

#include <stdio.h>

#define SQUARE(x) (x * x)

int main() {
    int num = 4;
    printf("Square of %d is %d\n", num, SQUARE(num));
    return 0;
}

Limitações das macros

Limitações das macros

As macros não realizam verificação de tipos e podem causar resultados inesperados.

Problema de exemplo:

#define MULTIPLY(x, y) x * y

A chamada MULTIPLY(2 + 3, 4) é expandida para 2 + 3 * 4, levando a resultados incorretos.

Introdução às funções em linha

Introdução às funções em linha

As funções em linha oferecem uma alternativa às macros, mantendo a segurança de tipos.

Sintaxe:

inline int square(int x) { return x * x; }

Elas reduzem a sobrecarga da chamada de função, mas garantem a verificação correta de tipos.

Exemplo: usando funções em linha

Exemplo: usando funções em linha

Este programa demonstra uma função em linha que substitui uma macro.

#include <stdio.h>

inline int square(int x) { return x * x; }

int main() {
    int num = 4;
    printf("Square of %d is %d\n", num, square(num));
    return 0;
}

Vantagens das funções em linha

Vantagens das funções em linha

As funções em linha oferecem vários benefícios em relação às macros:

  • Segurança de tipos.
  • Depuração aprimorada (elas aparecem nos rastreamentos da pilha).
  • Nenhum erro de expansão inesperado.

Quando usar macros em vez de funções em linha

Quando usar macros em vez de funções em linha

Use macros para:

  • Definir constantes simples.
  • Realizar pequenas substituições de texto.

Use funções em linha para:

  • Realizar operações complexas.
  • Garantir a segurança de tipos.

Resumo

Resumo

Nesta lição, você aprendeu:

  • Como definir e usar macros.
  • As limitações das macros.
  • Como as funções em linha oferecem uma alternativa mais segura.

A seguir, exploraremos a compilação condicional!

Macros e funções inline — ilustração 10

Perguntas Frequentes

A aula “Macros e funções inline” é grátis?

Sim — o texto completo de “Macros e funções inline” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C Academy, atualize para CoddyKit PRO. O curso de C Academy inclui 3 aulas no total.

O que vou aprender em “Macros e funções inline”?

Explore definições de macros e suas vantagens em relação às funções. Você pratica C Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C Academy?

Nenhuma experiência prévia é necessária. C Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 3.

Quanto tempo leva a aula “Macros e funções inline”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C Academy?

Sim. Cada aula de C Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Compreensão do pré-processador de C
  2. Macros e funções inline
  3. Compilação condicional
← Voltar para C Academy