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.

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!

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
- Compreensão do pré-processador de C
- Macros e funções inline
- Compilação condicional