Punteros a un solo elemento con *T
Apunte exactamente a un valor.
Punteros a un solo elemento con *T es una lección gratuita de Zig Academy en CoddyKit. Esta es la lección 1 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.
Un puntero apunta
Un puntero contiene la dirección de un valor que vive en otra ubicación de la memoria, en lugar de contener el valor mismo. 📍
El tipo *T
Un puntero a un solo elemento tiene el tipo *T, donde T es aquello a lo que apunta. Por tanto, *i32 significa un puntero a un único valor i32.
var p: *i32 = undefined;Obtener una dirección
Coloque el operador & delante de una variable para obtener un puntero a ella. El resultado es la dirección donde se almacena ese valor.
var x: i32 = 10;
const p = &x;Un solo valor
Un puntero a un solo elemento garantiza que se refiere exactamente a un valor, no a un arreglo. El compilador realiza ese seguimiento por usted.
Los punteros tienen un tamaño
Un puntero es simplemente una dirección, por lo que su tamaño es el de una palabra de máquina, no el de T. Apuntar a una estructura enorme sigue costando una sola dirección.
Mutable de forma predeterminada
Un *T simple permite leer y escribir el valor al que apunta. Más adelante añadirá const para hacerlo de solo lectura.
var n: i32 = 1;
const p: *i32 = &n;Los punteros comparten, no copian
Pasar un puntero a una función comparte el valor original, por lo que los cambios realizados a través de él son visibles para quien llamó a la función.
fn bump(p: *i32) void {
p.* += 1;
}Dirección de un const
Obtener &x sobre un const le proporciona un *const i32, porque Zig no permite escribir a través de un puntero a datos inmutables.
const x: i32 = 5;
const p = &x;Los punteros nunca son nulos
Un puntero ordinario de Zig nunca puede ser null. Si puede faltar un valor, debe usar un puntero opcional como ?*T.
La inferencia de tipos ayuda
Cuando escribe const p = &x, Zig infiere el tipo de puntero a partir de x, por lo que rara vez debe escribir *i32 manualmente.
var score: u8 = 42;
const p = &score;Por qué usar punteros
Los punteros permiten modificar un valor en el sitio y evitar copiar datos grandes, algo fundamental para el control de bajo nivel explícito de Zig.
Comprobación rápida
Quiere que una función cambie la variable de quien la llama. ¿Qué tipo debe tener el parámetro?
Resumen
Un puntero a un solo elemento *T contiene la dirección de exactamente un valor, se obtiene mediante &, nunca es null y permite compartir datos en lugar de copiarlos. 🎯
Preguntas frecuentes
¿La lección «Punteros a un solo elemento con *T» es gratis?
Sí — el texto completo de «Punteros a un solo elemento con *T» 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 «Punteros a un solo elemento con *T»?
Apunte exactamente a 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 1 de 4.
¿Cuánto tiempo toma la lección «Punteros a un solo elemento con *T»?
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
- Punteros a un solo elemento con *T
- Desreferenciar con ptr.*
- Punteros a varios elementos [*]T
- Punteros const y alineación