Указатели на один элемент с помощью *T
Указывайте ровно на одно значение.
«Указатели на один элемент с помощью *T» — бесплатный урок Zig Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
A Pointer Points
A pointer holds the address of a value living somewhere else in memory, instead of holding the value itself. 📍
The *T Type
A single-item pointer has the type *T, where T is what it points at. So *i32 means a pointer to one i32 value.
var p: *i32 = undefined;Take an Address
Use the & operator in front of a variable to get a pointer to it. The result is the address where that value is stored.
var x: i32 = 10;
const p = &x;One Value Only
A single-item pointer guarantees it refers to exactly one value, not an array. The compiler tracks that for you.
Pointers Have a Size
A pointer is just an address, so its size is the machine word, not the size of T. Pointing at a huge struct still costs one address.
Mutable by Default
A plain *T lets you both read and write the value it points to. You will add const later to make it read-only.
var n: i32 = 1;
const p: *i32 = &n;Pointers Share, Not Copy
Passing a pointer to a function shares the original value, so changes made through it are visible to the caller.
fn bump(p: *i32) void {
p.* += 1;
}Address of a const
Taking &x on a const gives you a *const i32, because Zig will not let you write through a pointer to immutable data.
const x: i32 = 5;
const p = &x;Pointers Are Never Null
An ordinary Zig pointer can never be null. If a value might be missing you must use an optional pointer like ?*T.
Type Inference Helps
When you write const p = &x, Zig infers the pointer type from x, so you rarely have to spell out *i32 by hand.
var score: u8 = 42;
const p = &score;Why Use Pointers
Pointers let you modify a value in place and avoid copying large data, which is core to Zig's explicit low-level control.
Quick Check
You want a function to change a caller's variable. What type should the parameter be?
Recap
A single-item pointer *T holds the address of exactly one value, is taken with &, is never null, and lets you share data instead of copying it. 🎯
Часто задаваемые вопросы
Урок «Указатели на один элемент с помощью *T» бесплатный?
Да — полный текст урока «Указатели на один элемент с помощью *T» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.
Чему я научусь в уроке «Указатели на один элемент с помощью *T»?
Указывайте ровно на одно значение. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Zig Academy?
Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Указатели на один элемент с помощью *T»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Zig Academy?
Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Указатели на один элемент с помощью *T
- Разыменование с помощью ptr.*
- Указатели на несколько элементов [*]T
- Константные указатели и выравнивание