Puntatori a un singolo elemento con *T
Puntare esattamente a un valore
Puntatori a un singolo elemento con *T è una lezione Zig Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. 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 Zig Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Zig Academy include 4 lezioni in totale.
Un puntatore punta a
Un puntatore contiene l'indirizzo di un valore che si trova in un'altra posizione della memoria, invece del valore stesso. 📍
Il tipo *T
Un puntatore a un singolo elemento ha il tipo *T, dove T è ciò a cui punta. Quindi *i32 indica un puntatore a un singolo valore i32.
var p: *i32 = undefined;Ottenere un indirizzo
Usi l'operatore & davanti a una variabile per ottenere un puntatore a essa. Il risultato è l'indirizzo in cui il valore è memorizzato.
var x: i32 = 10;
const p = &x;Un solo valore
Un puntatore a un singolo elemento garantisce di riferirsi esattamente a un valore, non a un array. Il compilatore lo verifica per Lei.
I puntatori hanno una dimensione
Un puntatore è solo un indirizzo, quindi la sua dimensione è quella della parola macchina, non quella di T. Anche puntare a una struct enorme costa un solo indirizzo.
Modificabile per impostazione predefinita
Un semplice *T consente sia di leggere sia di scrivere il valore a cui punta. In seguito potrà aggiungere const per renderlo di sola lettura.
var n: i32 = 1;
const p: *i32 = &n;I puntatori condividono, non copiano
Passare un puntatore a una funzione condivide il valore originale, quindi le modifiche apportate tramite esso sono visibili al chiamante.
fn bump(p: *i32) void {
p.* += 1;
}Indirizzo di una const
Ottenendo &x su una const si ottiene un *const i32, perché Zig non consente di scrivere tramite un puntatore a dati immutabili.
const x: i32 = 5;
const p = &x;I puntatori non sono mai null
Un normale puntatore Zig non può mai essere null. Se un valore potrebbe mancare, deve usare un puntatore opzionale come ?*T.
L'inferenza dei tipi è utile
Quando scrive const p = &x, Zig deduce il tipo del puntatore da x, quindi raramente deve indicare manualmente *i32.
var score: u8 = 42;
const p = &score;Perché usare i puntatori
I puntatori consentono di modificare un valore sul posto ed evitare di copiare dati di grandi dimensioni, un aspetto fondamentale del controllo di basso livello esplicito di Zig.
Verifica rapida
Vuole che una funzione modifichi la variabile del chiamante. Quale tipo deve avere il parametro?
Riepilogo
Un puntatore a un singolo elemento *T contiene l'indirizzo di esattamente un valore, si ottiene con &, non è mai null e consente di condividere i dati invece di copiarli. 🎯
Domande Frequenti
La lezione «Puntatori a un singolo elemento con *T» è gratuita?
Sì — il testo completo di «Puntatori a un singolo elemento con *T» è 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 Zig Academy, passa a CoddyKit PRO. Il corso Zig Academy include 4 lezioni in totale.
Cosa imparerò in «Puntatori a un singolo elemento con *T»?
Puntare esattamente a un valore Eserciti Zig 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 Zig Academy?
Non è richiesta alcuna esperienza precedente. Zig 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 1 di 4.
Quanto tempo richiede la lezione «Puntatori a un singolo elemento con *T»?
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 Zig Academy?
Sì. Ogni lezione Zig 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
- Puntatori a un singolo elemento con *T
- Dereferenziare con ptr.*
- Puntatori a più elementi [*]T
- Puntatori const e allineamento