Zig Academy · Aula

undefined e memória não inicializada

Reserve armazenamento antes de ter um valor.

Aula 4 de 413 etapas

undefined e memória não inicializada é uma aula grátis de Zig Academy no CoddyKit. Esta é a aula 4 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.

Reservar Espaço Primeiro

Às vezes, você quer reservar espaço antes de ter um valor para armazenar nele. O Zig oferece a palavra-chave undefined exatamente para isso.

Conheça undefined

Escrever undefined declara uma vinculação cuja memória está reservada, mas ainda não contém um valor significativo. Você promete preenchê-la em breve.

var buffer: [16]u8 = undefined;

É uma Promessa

undefined é o compromisso de atribuir um valor real antes da leitura. Leia primeiro e obterá lixo, um padrão de bits não especificado.

Comum em Buffers

Um vetor fixo que você está prestes a preencher é o caso clássico. Você define o tamanho do buffer, deixa-o como undefined e depois escreve nele elemento por elemento.

var line: [256]u8 = undefined;

A Segurança Ajuda a Detectar Problemas

Nos modos Debug e ReleaseSafe, o Zig preenche a memória undefined com bytes 0xAA. Esse padrão evidente ajuda a detectar leituras antecipadas acidentais.

Atribua Antes de Ler

A regra é simples: sempre escreva um valor real antes de ler uma vinculação undefined. Lê-la primeiro é um erro que o Zig quer que você evite.

var x: i32 = undefined;
x = 42;

undefined Não é null

undefined significa memória não inicializada, enquanto null significa um valor ausente intencional em um opcional. Eles resolvem problemas completamente diferentes.

Evitar o Custo de Zerar

Deixar um espaço grande como undefined evita o custo de escrever zeros desnecessários. É uma escolha deliberada de desempenho, não preguiça.

Campos Podem ser undefined

Um campo de estrutura também pode começar como undefined quando você planeja defini-lo mais tarde. O objetivo é ter um estado não inicializado honesto e explícito.

var p: Point = undefined;

Use com Moderação

A maioria das vinculações deve conter um valor real desde o início. Use undefined somente quando reservar armazenamento bruto for realmente necessário.

Explícito é Melhor que Oculto

Outras linguagens podem deixar variáveis silenciosamente não inicializadas. O Zig torna isso explícito, para que qualquer pessoa que leia o código veja claramente a intenção.

Verificação Rápida

Você escreve var x: i32 = undefined; e lê x antes de atribuir um valor. O que você fez?

Recapitulação

Você aprendeu que undefined reserva armazenamento sem um valor, geralmente para buffers. Sempre atribua antes de ler e lembre-se de que ele é diferente de null. 📦

Grátis para começar

Aprenda Zig com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “undefined e memória não inicializada” é grátis?

Sim — o texto completo de “undefined e memória não inicializada” é 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 “undefined e memória não inicializada”?

Reserve armazenamento antes de ter 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 4 de 4.

Quanto tempo leva a aula “undefined e memória não inicializada”?

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. const para valores que nunca mudam
  2. var para estados mutáveis
  3. Inferência de tipos versus tipos explícitos
  4. undefined e memória não inicializada
← Voltar para Zig Academy