Zig Academy · درس

إلغاء الإشارة باستخدام ptr.*

اقرؤوا عبر المؤشر واكتبوا فيه

الدرس 2 من 413 خطوة

إلغاء الإشارة باستخدام ptr.* درس مجاني في Zig Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Zig Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Zig Academy 4 دروس في المجموع.

الوصول إلى القيمة

يحتفظ المؤشر بعنوان، لا بقيمة. ولاستخدام القيمة التي تقف خلفه، يجب أولًا إلغاء إشارة المؤشر.

صيغة .*

يلغي Zig إشارة المؤشر باستخدام .* في نهايته. لذلك تعني ptr.* القيمة التي يشير إليها ptr حاليًا.

var x: i32 = 7;
const p = &x;
const v = p.*;

القراءة من خلال مؤشر

تؤدي كتابة ptr.* في تعبير إلى قراءة القيمة المشار إليها، فتمنحك نسخة عادية يمكنك استخدامها في أي مكان.

const doubled = p.* * 2;

الكتابة من خلال مؤشر

ضع ptr.* على يسار إسناد من أجل كتابة قيمة جديدة في الموقع الأصلي.

p.* = 99;

التغييرات مرئية

لأن المؤشر يشارك التخزين الأصلي، تؤدي الكتابة من خلاله إلى تحديث المتغير الذي يراه الآخرون أيضًا.

var x: i32 = 1;
const p = &x;
p.* = 5;
// x is now 5

لا يوجد عامل السهم

لا يحتوي Zig على العامل -> مثل C. سواء كنت تقرأ حقلًا أو تكتب فيه، فإنك تستخدم دائمًا إلغاء الإشارة نفسه .*.

إلغاء الإشارة ثم الوصول إلى الحقل

بالنسبة إلى مؤشر لبنية، يعمل p.field مباشرةً: إذ يجري Zig إلغاء الإشارة تلقائيًا عند الوصول إلى الحقل، لذلك تتجاوز .* هناك.

const p = &point;
const y = p.y;

الإلغاء الصريح مسموح

لا يزال بإمكانك كتابتها صراحةً بصيغة p.*.field، لكن الصيغة الأقصر p.field هي الأسلوب الشائع في Zig وتُقرأ بوضوح أكبر.

const يمنع الكتابة

إذا كان المؤشر من النوع *const T، فإن ptr.* تكون للقراءة فقط؛ ومحاولة الإسناد من خلاله تؤدي إلى خطأ في الترجمة.

const x: i32 = 3;
const p = &x;
// p.* = 4; // error

إلغاء الإشارة في العمليات الحسابية

يمكنك استخدام ptr.* في أي موضع تقبل فيه قيمة، بما في ذلك الحسابات، لذا يعني p.* + 1 ببساطة القيمة المشار إليها زائد واحد.

const next = p.* + 1;

خطأ شائع

إن نسيان .* يحاول استخدام العنوان بوصفه رقمًا، وهذا خطأ في النوع. يكتشفه Zig في وقت الترجمة، لا في وقت التشغيل.

تحقق سريع

لديك const p = &x وتريد تخزين رقم جديد في x من خلال p. ماذا تكتب؟

مراجعة

استخدم ptr.* لقراءة القيمة التي يستهدفها المؤشر أو الكتابة فيها، وتُلغى إشارة حقول البنية تلقائيًا، بينما تظل مؤشرات *const T للقراءة فقط. 🎯

البدء مجانًا

تعلم Zig مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «إلغاء الإشارة باستخدام ptr.*» مجاني؟

نعم — نص درس «إلغاء الإشارة باستخدام ptr.*» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Zig Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Zig Academy 4 دروس في المجموع.

ماذا ستتعلم في «إلغاء الإشارة باستخدام ptr.*»؟

اقرؤوا عبر المؤشر واكتبوا فيه تتمرن على Zig Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Zig Academy؟

لا تُشترط خبرة سابقة. Zig Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «إلغاء الإشارة باستخدام ptr.*»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Zig Academy هذا؟

نعم. كل درس في Zig Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مؤشرات العنصر الواحد باستخدام *T
  2. إلغاء الإشارة باستخدام ptr.*
  3. مؤشرات العناصر المتعددة [*]T
  4. المؤشرات الثابتة والمحاذاة
← العودة إلى Zig Academy