0Pricing
Zig Academy · Aula

Ponteiros para um único item com *T

Aponte exatamente para um valor.

Ponteiros para um único item com *T é uma aula grátis de Zig Academy no CoddyKit. Esta é a aula 1 de 4. 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 Zig Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Zig Academy inclui 4 aulas no total.

Um ponteiro aponta

Um ponteiro armazena o endereço de um valor que está em outro lugar da memória, em vez de armazenar o próprio valor. 📍

O tipo *T

Um ponteiro para um único item tem o tipo *T, em que T é aquilo para o qual ele aponta. Assim, *i32 significa um ponteiro para um único valor i32.

var p: *i32 = undefined;

Obtendo um endereço

Use o operador & diante de uma variável para obter um ponteiro para ela. O resultado é o endereço onde esse valor está armazenado.

var x: i32 = 10;
const p = &x;

Apenas um valor

Um ponteiro para um único item garante que se refere exatamente a um valor, não a um vetor. O compilador acompanha isso para você.

Ponteiros têm tamanho

Um ponteiro é apenas um endereço, portanto seu tamanho é o da palavra da máquina, não o tamanho de T. Apontar para uma estrutura enorme ainda custa um único endereço.

Mutável por padrão

Um *T simples permite ler e escrever o valor para o qual aponta. Mais tarde, você adicionará const para torná-lo somente leitura.

var n: i32 = 1;
const p: *i32 = &n;

Ponteiros compartilham, não copiam

Passar um ponteiro para uma função compartilha o valor original, portanto as alterações feitas por meio dele ficam visíveis para quem chamou a função.

fn bump(p: *i32) void {
    p.* += 1;
}

Endereço de uma constante

Obter &x em uma constante fornece um *const i32, porque Zig não permite escrever por meio de um ponteiro para dados imutáveis.

const x: i32 = 5;
const p = &x;

Ponteiros nunca são nulos

Um ponteiro comum de Zig nunca pode ser nulo. Se um valor puder estar ausente, você deverá usar um ponteiro opcional, como ?*T.

A inferência de tipos ajuda

Quando você escreve const p = &x, Zig infere o tipo do ponteiro a partir de x, então raramente é necessário escrever *i32 manualmente.

var score: u8 = 42;
const p = &score;

Por que usar ponteiros

Os ponteiros permitem modificar um valor no próprio local e evitar a cópia de dados grandes, algo fundamental para o controle de baixo nível explícito de Zig.

Verificação rápida

Você quer que uma função altere a variável de quem a chamou. Qual deve ser o tipo do parâmetro?

Recapitulação

Um ponteiro para um único item *T armazena o endereço de exatamente um valor, é obtido com &, nunca é nulo e permite compartilhar dados em vez de copiá-los. 🎯

Perguntas Frequentes

A aula “Ponteiros para um único item com *T” é grátis?

Sim — o texto completo de “Ponteiros para um único item com *T” é 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 Zig Academy, atualize para CoddyKit PRO. O curso de Zig Academy inclui 4 aulas no total.

O que vou aprender em “Ponteiros para um único item com *T”?

Aponte exatamente para um valor. Você pratica Zig 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 Zig Academy?

Nenhuma experiência prévia é necessária. Zig 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 1 de 4.

Quanto tempo leva a aula “Ponteiros para um único item com *T”?

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 Zig Academy?

Sim. Cada aula de Zig 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. Ponteiros para um único item com *T
  2. Desreferenciando com ptr.*
  3. Ponteiros para vários itens [*]T
  4. Ponteiros constantes e alinhamento
← Voltar para Zig Academy