Arrays de ponteiros e ponteiros para funções
Entenda o conceito de arrays de ponteiros e como ponteiros para funções são usados em callbacks e na execução eficiente de programas.
Arrays de ponteiros e ponteiros para funções é uma aula grátis de C Academy no CoddyKit. Esta é a aula 3 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.
Vetores de ponteiros e ponteiros para funções
Vetores de ponteiros e ponteiros para funções
Os ponteiros podem ser usados em vetores para armazenar vários endereços de memória, e os ponteiros para funções permitem passar funções como argumentos.
Nesta lição, você aprenderá:
- Como declarar e usar vetores de ponteiros.
- Como funcionam os ponteiros para funções.
- Como os ponteiros para funções são usados em funções de retorno de chamada.

O que é um vetor de ponteiros
O que é um vetor de ponteiros?
Um vetor de ponteiros é um vetor em que cada elemento é um ponteiro.
Exemplo:
int *arr[5];
Este vetor pode armazenar 5 ponteiros para números inteiros.
Exemplo: vetor de ponteiros
Exemplo: vetor de ponteiros
Este programa demonstra um vetor de ponteiros.
#include <stdio.h>
int main() {
int a = 10, b = 20, c = 30;
int *arr[3] = {&a, &b, &c};
for (int i = 0; i < 3; i++) {
printf("Value: %d\n", *arr[i]);
}
return 0;
}O que é um ponteiro para função
O que é um ponteiro para função?
Um ponteiro para função armazena o endereço de uma função e permite que ela seja chamada dinamicamente.
Declaração de exemplo:
int (*funcPtr)(int, int);
Isso define um ponteiro para uma função que recebe dois números inteiros e retorna um número inteiro.
Exemplo: ponteiro para função
Exemplo: ponteiro para função
Este programa demonstra como usar um ponteiro para função.
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main() {
int (*funcPtr)(int, int) = add;
printf("Sum: %d\n", funcPtr(5, 10));
return 0;
}Passando um ponteiro para função para outra função
Passando um ponteiro para função para outra função
Os ponteiros para funções podem ser passados como argumentos.
Exemplo:
void execute(int (*operation)(int, int)) { }
Esta função aceita um ponteiro para função como parâmetro.
Exemplo: passando um ponteiro para função como argumento
Exemplo: passando um ponteiro para função como argumento
Este programa demonstra como passar um ponteiro para função como parâmetro.
#include <stdio.h>
int multiply(int a, int b) {
return a * b;
}
void execute(int (*operation)(int, int), int x, int y) {
printf("Result: %d\n", operation(x, y));
}
int main() {
execute(multiply, 4, 5);
return 0;
}Casos de uso dos ponteiros para funções
Casos de uso dos ponteiros para funções
Os ponteiros para funções são usados em:
- Funções de retorno de chamada em programação orientada a eventos.
- Funções de ordenação (por exemplo,
qsort()). - Implementação de máquinas de estados.
Resumo
Resumo
Nesta lição, você aprendeu:
- Como usar vetores de ponteiros.
- Como declarar e usar ponteiros para funções.
- Como passar ponteiros para funções como argumentos.
Em seguida, exploraremos estruturas, uniões e enumerações em C!

Perguntas Frequentes
A aula “Arrays de ponteiros e ponteiros para funções” é grátis?
Sim — o texto completo de “Arrays de ponteiros e ponteiros para funções” é 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 “Arrays de ponteiros e ponteiros para funções”?
Entenda o conceito de arrays de ponteiros e como ponteiros para funções são usados em callbacks e na execução eficiente de programas. 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 3 de 3.
Quanto tempo leva a aula “Arrays de ponteiros e ponteiros para funções”?
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
- Introdução a ponteiros
- Alocação dinâmica de memória
- Arrays de ponteiros e ponteiros para funções