ptr.* ile Başvuruyu Kaldırma
Bir işaretçi üzerinden okuyun ve yazın.
ptr.* ile Başvuruyu Kaldırma, CoddyKit'te ücretsiz bir Zig Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Zig Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Zig Academy kursu toplamda 4 dersten oluşur.
Değere Ulaşma
İşaretçi bir değeri değil, bir adresi tutar. Arkasındaki değeri kullanmak için önce işaretçinin başvurusunu kaldırmanız gerekir.
.* Sözdizimi
Zig, işaretçinin sonuna .* ekleyerek başvuruyu kaldırır. Dolayısıyla ptr.*, ptr'nin o anda gösterdiği değer anlamına gelir.
var x: i32 = 7;
const p = &x;
const v = p.*;İşaretçi Üzerinden Okuma
Bir ifadede ptr.* yazmak, işaret edilen değeri okur ve size istediğiniz yerde kullanabileceğiniz normal bir kopya verir.
const doubled = p.* * 2;İşaretçi Üzerinden Yazma
Özgün konuma yeni bir değer yazmak için atamanın sol tarafına ptr.* koyun.
p.* = 99;Değişiklikler Görünür
İşaretçi özgün depolama alanını paylaştığından, işaretçi üzerinden yazmak diğer herkesin de gördüğü değişkeni günceller.
var x: i32 = 1;
const p = &x;
p.* = 5;
// x is now 5Ok İşleci Yoktur
Zig'de C'deki gibi -> yoktur. Bir alanı ister okuyor ister yazıyor olun, her zaman aynı .* başvuru kaldırma işlemini kullanırsınız.
Başvuruyu Kaldırıp Alana Ulaşma
Bir yapıya işaret eden işaretçi için p.field doğrudan çalışır: Zig alan erişiminde başvuruyu otomatik olarak kaldırır; bu nedenle burada .* kullanmanız gerekmez.
const p = &point;
const y = p.y;Açık Kullanım da Geçerlidir
İsterseniz p.*.field şeklinde açıkça yazabilirsiniz; ancak daha kısa olan p.field, Zig'de deyim yerindedir ve daha okunaklıdır.
const Yazmayı Engeller
İşaretçi *const T ise ptr.* salt okunurdur; bunun üzerinden atama yapmaya çalışmak derleme hatasına yol açar.
const x: i32 = 3;
const p = &x;
// p.* = 4; // errorMatematikte Başvuruyu Kaldırma
ptr.* ifadesini aritmetik de dahil olmak üzere bir değerin kullanılabildiği her yerde kullanabilirsiniz; bu nedenle p.* + 1, işaret edilen değere bir eklemek anlamına gelir.
const next = p.* + 1;Yaygın Bir Hata
.* yazmayı unutmak, adresi sayı olarak kullanmaya çalışır ve bu bir tür hatasıdır. Zig bunu çalışma zamanında değil, derleme zamanında yakalar.
Kısa Kontrol
const p = &x değerine sahipsiniz ve p üzerinden x'e yeni bir sayı yazmak istiyorsunuz. Ne yazarsınız?
Özet
Bir işaretçinin hedeflediği değeri okumak veya yazmak için ptr.* kullanın; yapı alanlarında başvuru otomatik olarak kaldırılır ve *const T işaretçileri salt okunur kalır. 🎯
Sıkça Sorulan Sorular
“ptr.* ile Başvuruyu Kaldırma” dersi ücretsiz mi?
Evet — “ptr.* ile Başvuruyu Kaldırma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Zig Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Zig Academy kursu toplamda 4 dersten oluşur.
“ptr.* ile Başvuruyu Kaldırma” dersinde ne öğreneceğim?
Bir işaretçi üzerinden okuyun ve yazın. Zig Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Zig Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Zig Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“ptr.* ile Başvuruyu Kaldırma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Zig Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Zig Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- *T ile Tek Ögeli İşaretçiler
- ptr.* ile Başvuruyu Kaldırma
- [*]T ile Çok Ögeli İşaretçiler
- Sabit İşaretçiler ve Hizalama