0Pricing
C Academy · Aula

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.
Arrays de ponteiros e ponteiros para funções — ilustração 1

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!

Arrays de ponteiros e ponteiros para funções — ilustração 10

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

  1. Introdução a ponteiros
  2. Alocação dinâmica de memória
  3. Arrays de ponteiros e ponteiros para funções
← Voltar para C Academy