undefined y memoria no inicializada
Reserve almacenamiento antes de disponer de un valor.
undefined y memoria no inicializada es una lección gratuita de Zig Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Zig Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Zig Academy incluye 4 lecciones en total.
Reservar espacio primero
A veces quiere reservar almacenamiento antes de tener un valor que guardar en él. Zig le ofrece la palabra clave undefined exactamente para eso.
Conozca undefined
Escribir undefined declara un enlace cuya memoria está reservada, pero que aún no contiene un valor significativo. Usted se compromete a completarlo pronto.
var buffer: [16]u8 = undefined;Es una promesa
undefined es su promesa de asignar un valor real antes de leerlo. Si lo lee primero, obtiene basura: un patrón de bits no especificado.
Habitual con búferes
Una matriz fija que está a punto de rellenar es el caso clásico. Dimensiona el buffer, lo deja como undefined y después escribe en él elemento por elemento.
var line: [256]u8 = undefined;La seguridad le protege
En los modos Debug y ReleaseSafe, Zig llena la memoria undefined con bytes 0xAA. Ese patrón evidente ayuda a detectar lecturas prematuras accidentales.
Asigne antes de leer
La regla es sencilla: siempre debe escribir un valor real antes de leer un enlace undefined. Leerlo primero es un error que Zig quiere que evite.
var x: i32 = undefined;
x = 42;undefined no es null
undefined significa memoria no inicializada, mientras que null significa un valor ausente deliberado dentro de un opcional. Resuelven problemas completamente distintos.
Evitar el costo de poner a cero
Dejar un almacenamiento grande como undefined evita el costo de escribir ceros que no necesita. Es una decisión deliberada de rendimiento, no pereza.
Los campos pueden ser undefined
Un campo de una estructura también puede comenzar como undefined si planea establecerlo más adelante. La idea es representar de forma honesta y explícita un estado no inicializado.
var p: Point = undefined;Úselo con moderación
La mayoría de los enlaces deberían contener un valor real desde el principio. Use undefined solo cuando reservar almacenamiento sin procesar sea realmente lo que necesita.
Lo explícito es mejor que lo oculto
Otros lenguajes pueden dejar las variables sin inicializar silenciosamente. Zig lo hace explícito, para que cualquiera que lea el código vea claramente la intención.
Comprobación rápida
Escribe var x: i32 = undefined; y lee x antes de asignarle un valor. ¿Qué ha hecho?
Repaso
Ha aprendido que undefined reserva almacenamiento sin un valor, a menudo para búferes. Asigne siempre antes de leer y recuerde que es diferente de null. 📦
Aprende Zig con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «undefined y memoria no inicializada» es gratis?
Sí — el texto completo de «undefined y memoria no inicializada» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Zig Academy, actualiza a CoddyKit PRO. El curso de Zig Academy incluye 4 lecciones en total.
¿Qué aprenderé en «undefined y memoria no inicializada»?
Reserve almacenamiento antes de disponer de un valor. Practicas Zig Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Zig Academy?
No se requiere experiencia previa. Zig Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «undefined y memoria no inicializada»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Zig Academy?
Sí. Cada lección de Zig Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- const para valores que nunca cambian
- var para estado mutable
- Inferencia de tipos frente a tipos explícitos
- undefined y memoria no inicializada