0Pricing
Zig Academy · Pelajaran

Penunjuk Banyak Item [*]T

Alamatkan rangkaian elemen.

Penunjuk Banyak Item [*]T adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Zig Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Zig Academy mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Pointing at a Run

Sometimes a pointer addresses not one value but the start of a sequence of values laid out in memory. 🧱

The [*]T Type

A many-item pointer is written [*]T. The star inside the brackets means it points at an unknown number of T values in a row.

var run: [*]u8 = undefined;

No Length Attached

Unlike a slice, a many-item pointer carries no length. You alone must know how many elements are safe to touch.

Index Like an Array

You can index a many-item pointer with brackets, so run[2] reaches the third element by stepping forward in memory.

const third = run[2];

Pointer Arithmetic

Adding to a many-item pointer moves it by whole elements, so run + 1 points one T further along, not one byte.

const next = run + 1;

Single vs Many

A *T points at exactly one value and cannot be indexed; a [*]T points at many and supports indexing and arithmetic.

Where They Come From

Many-item pointers often appear when talking to C, which passes a bare pointer to a buffer with the length tracked separately.

No Bounds Checks

Because the length is unknown, indexing a many-item pointer is not bounds-checked. Reading too far is undefined behavior.

Prefer Slices

When you control the code, a slice []T is safer because it bundles the length. Reach for [*]T mainly at C boundaries.

From Pointer to Slice

Once you know the count, attach a length with ptr[0..n] to turn a many-item pointer into a safe, bounds-checked slice.

const view = run[0..n];

Sentinel Variants Exist

Zig also has sentinel-terminated forms like [*:0]u8, a pointer whose run ends at a known value such as a zero byte.

var cstr: [*:0]const u8 = "hi";

Quick Check

Compare a slice []T with a many-item pointer [*]T. What does the many-item pointer lack?

Recap

A many-item pointer [*]T addresses a run of values, supports indexing and arithmetic, has no length, and is best converted to a slice when possible. 🎯

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Penunjuk Banyak Item [*]T” gratis?

Ya — teks lengkap “Penunjuk Banyak Item [*]T” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Zig Academy, upgrade ke CoddyKit PRO. Kursus Zig Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Penunjuk Banyak Item [*]T”?

Alamatkan rangkaian elemen. Kamu berlatih Zig Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Zig Academy?

Tidak diperlukan pengalaman sebelumnya. Zig Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Penunjuk Banyak Item [*]T” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Zig Academy ini?

Ya. Setiap pelajaran Zig Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Penunjuk Satu Item dengan *T
  2. Dereferensi dengan ptr.*
  3. Penunjuk Banyak Item [*]T
  4. Penunjuk Konstan dan Penyelarasan
← Kembali ke Zig Academy