0Pricing
Zig Academy · Урок

Массивы фиксированного размера

Объявляйте массивы, размер которых известен во время компиляции, и обращайтесь к их элементам.

«Массивы фиксированного размера» — бесплатный урок Zig Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.

Что хранит массив

Массив хранит фиксированное число значений одного типа, расположенных последовательно в одном блоке памяти. 📦

Длина фиксирована

В Zig длина является частью типа массива и определяется во время компиляции. После объявления она не может ни увеличиться, ни уменьшиться.

Объявление массива

В квадратных скобках укажите количество элементов, а затем тип элемента. Массив [3]i32 содержит ровно три знаковых целых числа.

const nums = [3]i32{ 10, 20, 30 };

Позвольте Zig посчитать за вас

Используйте символ подчёркивания вместо размера, и Zig выведет его из перечисленных значений. Здесь [_]i32 превращается в массив из трёх элементов.

const nums = [_]i32{ 1, 2, 3 };

Индексация начинается с нуля

Получить элемент можно по его индексу в квадратных скобках. Индексы начинаются с 0, поэтому nums[0] — самое первое значение.

const first = nums[0];

Получение длины

Каждый массив предоставляет свой размер через поле len. Он известен во время компиляции и не изменяется.

const count = nums.len; // 3

Границы проверяются

Выход за конец массива обнаруживается автоматически. В безопасных сборках выход за границы индекса вызывает аварийное завершение во время выполнения, а не незаметное повреждение данных.

Заполнение одним значением

Повторите один элемент по всему массиву с помощью оператора **. Так можно создать пять нулей, не вводя каждый отдельно.

const zeros = [_]u8{0} ** 5;

Массивы являются типами-значениями

Присваивание одного массива другому копирует каждый элемент. Массивы независимы, поэтому изменение одного не затрагивает другой.

Изменение элементов

Объявите массив с помощью var, чтобы позже изменять его элементы. Затем присваивайте значение по индексу, обновляя отдельную ячейку.

var scores = [_]i32{ 0, 0, 0 };
scores[1] = 99;

Массивы любого типа

Элементы могут иметь любой тип, включая массивы. [2][3]i32 — это небольшая таблица: две строки по три целых числа в каждой.

const grid = [2][3]i32{ .{ 1, 2, 3 }, .{ 4, 5, 6 } };

Быстрая проверка

Вы объявили const nums = [_]i32{ 1, 2, 3 }. Чему равно выражение nums.len?

Итоги

Массив фиксированного размера объединяет значения одного типа: длина является частью типа, индексы начинаются с 0, а доступ проверяется на выход за границы. 🎯

Часто задаваемые вопросы

Урок «Массивы фиксированного размера» бесплатный?

Да — полный текст урока «Массивы фиксированного размера» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.

Чему я научусь в уроке «Массивы фиксированного размера»?

Объявляйте массивы, размер которых известен во время компиляции, и обращайтесь к их элементам. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Zig Academy?

Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Массивы фиксированного размера»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Zig Academy?

Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Массивы фиксированного размера
  2. Срезы: указатель плюс длина
  3. Создание срезов с помощью array[start..end]
  4. Перебор и изменение срезов
← Назад к Zig Academy