Array di puntatori e puntatori a funzione
Comprenda il concetto di array di puntatori e l'uso dei puntatori a funzione per i callback e l'esecuzione efficiente dei programmi.
Array di puntatori e puntatori a funzione è una lezione C Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C Academy include 3 lezioni in totale.
Array di puntatori e puntatori a funzione
Array di puntatori e puntatori a funzione
I puntatori possono essere utilizzati negli array per memorizzare più indirizzi di memoria, mentre i puntatori a funzione consentono di passare le funzioni come argomenti.
In questa lezione imparerà:
- Come dichiarare e utilizzare gli array di puntatori.
- Come funzionano i puntatori a funzione.
- Come vengono utilizzati i puntatori a funzione per le callback.

Che cos'è un array di puntatori?
Che cos'è un array di puntatori?
Un array di puntatori è un array in cui ogni elemento è un puntatore.
Esempio:
int *arr[5];
Questo array può memorizzare 5 puntatori a interi.
Esempio: array di puntatori
Esempio: array di puntatori
Questo programma mostra un array di puntatori.
#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;
}Che cos'è un puntatore a funzione?
Che cos'è un puntatore a funzione?
Un puntatore a funzione memorizza l'indirizzo di una funzione e consente di chiamarla dinamicamente.
Dichiarazione di esempio:
int (*funcPtr)(int, int);
Questa dichiarazione definisce un puntatore a una funzione che accetta due interi e restituisce un intero.
Esempio: puntatore a funzione
Esempio: puntatore a funzione
Questo programma mostra come utilizzare un puntatore a funzione.
#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;
}Passare un puntatore a funzione a un'altra funzione
Passare un puntatore a funzione a un'altra funzione
I puntatori a funzione possono essere passati come argomenti.
Esempio:
void execute(int (*operation)(int, int)) { }
Questa funzione accetta un puntatore a funzione come parametro.
Esempio: passare un puntatore a funzione come argomento
Esempio: passare un puntatore a funzione come argomento
Questo programma mostra come passare un puntatore a funzione come parametro.
#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;
}Casi d'uso dei puntatori a funzione
Casi d'uso dei puntatori a funzione
I puntatori a funzione vengono utilizzati per:
- Le callback nella programmazione basata sugli eventi.
- Le funzioni di ordinamento, ad esempio
qsort(). - Implementare macchine a stati.
Riepilogo
Riepilogo
In questa lezione ha imparato:
- Come utilizzare gli array di puntatori.
- Come dichiarare e utilizzare i puntatori a funzione.
- Come passare i puntatori a funzione come argomenti.
Successivamente esploreremo le strutture, le union e le enumerazioni in C!

Domande Frequenti
La lezione «Array di puntatori e puntatori a funzione» è gratuita?
Sì — il testo completo di «Array di puntatori e puntatori a funzione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C Academy, passa a CoddyKit PRO. Il corso C Academy include 3 lezioni in totale.
Cosa imparerò in «Array di puntatori e puntatori a funzione»?
Comprenda il concetto di array di puntatori e l'uso dei puntatori a funzione per i callback e l'esecuzione efficiente dei programmi. Eserciti C Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C Academy?
Non è richiesta alcuna esperienza precedente. C Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.
Quanto tempo richiede la lezione «Array di puntatori e puntatori a funzione»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C Academy?
Sì. Ogni lezione C Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Introduzione ai puntatori
- Allocazione dinamica della memoria
- Array di puntatori e puntatori a funzione