Penuding Banyak Item [*]T
Alamatkan deretan elemen.
Penuding Banyak Item [*]T ialah pelajaran Zig Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Zig Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Zig Academy merangkumi sejumlah 4 pelajaran.
Menunjuk kepada Jujukan
Kadang-kadang penuding bukan menunjuk kepada satu nilai, tetapi kepada permulaan jujukan nilai yang disusun dalam memori. 🧱
Jenis [*]T
Penuding banyak item ditulis sebagai [*]T. Asterisk di dalam kurungan menunjukkan bahawa ia menunjuk kepada bilangan nilai T yang tidak diketahui dalam satu baris.
var run: [*]u8 = undefined;Tiada Panjang Disertakan
Tidak seperti kepingan, penuding banyak item tidak membawa panjang. Anda sendiri mesti mengetahui bilangan elemen yang selamat untuk disentuh.
Mengindeks Seperti Tatasusunan
Anda boleh mengindeks penuding banyak item dengan kurungan, jadi run[2] mencapai elemen ketiga dengan bergerak ke hadapan dalam memori.
const third = run[2];Aritmetik Penuding
Menambah nilai kepada penuding banyak item menggerakkannya mengikut elemen penuh. Jadi run + 1 menunjuk satu T lebih jauh, bukannya satu bait.
const next = run + 1;Satu berbanding Banyak
*T menunjuk tepat kepada satu nilai dan tidak boleh diindeks; [*]T menunjuk kepada banyak nilai serta menyokong pengindeksan dan aritmetik.
Asalnya
Penuding banyak item sering muncul ketika berkomunikasi dengan C, yang menghantar penuding kosong kepada penimbal dengan panjang dijejaki secara berasingan.
Tiada Semakan Sempadan
Oleh sebab panjangnya tidak diketahui, pengindeksan penuding banyak item tidak disemak sempadannya. Membaca terlalu jauh ialah tingkah laku tidak ditakrifkan.
Utamakan Kepingan
Apabila anda mengawal kod, kepingan []T lebih selamat kerana panjangnya disertakan. Gunakan [*]T terutamanya pada sempadan C.
Daripada Penuding kepada Kepingan
Setelah mengetahui bilangannya, sertakan panjang dengan ptr[0..n] untuk menukar penuding banyak item menjadi kepingan yang selamat dan disemak sempadannya.
const view = run[0..n];Varian Penamat Sentinel Wujud
Zig juga mempunyai bentuk yang ditamatkan sentinel seperti [*:0]u8, iaitu penuding yang jujukannya berakhir pada nilai yang diketahui seperti bait sifar.
var cstr: [*:0]const u8 = "hi";Semakan Pantas
Bandingkan kepingan []T dengan penuding banyak item [*]T. Apakah yang tiada pada penuding banyak item?
Imbas Kembali
Penuding banyak item [*]T mengalamatkan jujukan nilai, menyokong pengindeksan dan aritmetik, tidak mempunyai panjang dan sebaiknya ditukar kepada kepingan apabila boleh. 🎯
Pelajari Zig dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Penuding Banyak Item [*]T” percuma?
Ya — teks penuh “Penuding Banyak Item [*]T” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Zig Academy, tingkat taraf kepada CoddyKit PRO. Kursus Zig Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Penuding Banyak Item [*]T”?
Alamatkan deretan elemen. Anda berlatih Zig Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Zig Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Zig Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Penuding Banyak Item [*]T” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Zig Academy ini?
Ya. Setiap pelajaran Zig Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Penuding Item Tunggal dengan *T
- Menyahrujuk dengan ptr.*
- Penuding Banyak Item [*]T
- Penuding Const dan Penjajaran