‫مرحبًا بعودتك.
‫في هذا الفيديو ، سنلقي نظرة على الفرق بين نوع القيمة ونوع المرجع.
‫لذلك يمكن تصنيف أنواع البيانات إلى فئتين بناءً على كيفية احتلالها لموقع الذاكرة.
‫وسننظر في هذه الأنواع بالتفصيل.
‫أولًا ، ننظر إلى نوع القيمة.
‫لذا ، كما يوحي الاسم ، فهو نوع بيانات والذي عند الإعلان عن قيمة وتعيينها ، يحتفظ بهذه القيمة مباشرة
‫على مساحة الذاكرة الخاصة به.
‫حسنا.
‫لذلك يستخدم نوع القيمة كومة لتخزين مثال قيمة أنواع القيم هي أنواع البيانات مثل int float long
‫double char bool decimal double.
‫إذن ، أنواع البيانات البسيطة الآن دعنا نلقي نظرة على التمثيل التصويري لنوع القيمة.
‫لنفترض أننا أنشأنا متغيرًا جديدًا يسمى Z بقيمة 234.
‫الآن سيتم تخزين هذه القيمة 234 في ذاكرة الوصول العشوائي في موضع هذا المتغير Z.
‫حسنا.
‫ثم إذا نظرنا إلى نوع المرجع بمزيد من التفصيل ، يمكننا أن نرى أنه نوع متغير والذي
‫بدلاً من تخزين القيمة في الذاكرة مباشرة ، يخزن فقط موقع الذاكرة للبيانات الفعلية.
‫المتغير هنا يخزن مرجع الذاكرة للبيانات وليس البيانات مباشرة.
‫هذا هو الاختلاف الكبير.
‫حق؟
‫لذا فإن أنواع البيانات المرجعية عبارة عن مصفوفة فئة السلسلة ، وهي أنواع بيانات أكثر تعقيدًا وتحتاج إلى مساحة أكبر
‫بكثير ، إذا جاز التعبير.
‫يتم ذلك من أجل توفير الموارد وجعل برنامجنا سريعًا قدر الإمكان ، لأننا بعد ذلك لا نحتاج
‫إلى الحصول على القيمة ونقل القيمة طوال الوقت.
‫لكن يمكننا فقط أن نقول ، حسنًا ، القيمة موجودة في ذلك الموقع ، لذا يمكنك الحصول عليها
‫من هناك بدلاً من نسخها على سبيل المثال ، عند استخدامها.
‫حسنا.
‫لذلك عندما نقوم بنسخ هذا النوع المرجعي لنوع البيانات ، فسيقوم فقط بنسخ عنوان ذاكرة البيانات.
‫إذن سيكون لدينا متغيرين يشيران إلى نفس البيانات.
‫لذلك دعونا نلقي نظرة على التمثيل التصويري هنا.
‫إذن لدينا هذه السلسلة تسمى أولاً Dennis ، ثم لدينا عنوان القيمة المتغيرة ثم
‫القيمة الفعلية.
‫لذلك يمكنك أن ترى ذلك هنا.
‫هذه القيمة هنا هي فقط العنوان الذي يمكنك رؤيته هنا ، ولكن عنوان اسم المتغير موجود
‫هنا.
‫لذلك يتم تخزين عنوان القيمة المتغيرة والقيمة الفعلية في موقعين مختلفين في ذاكرة الوصول العشوائي الخاصة بك.
‫بشكل عام ، عنوان القيمة المتغيرة قصير جدًا.
‫إنه حقًا مجرد رقم أساسي جدًا ، صحيح.
‫لكن من ناحية أخرى ، يمكن أن تكون القيمة الفعلية معقدة للغاية.
‫لذلك يمكن أن يكون كائنًا معقدًا للغاية ويحتوي على الكثير من المعلومات المخزنة فيه.
‫وهذا هو السبب في أنه من الأفضل لبرامجنا استخدام هذا الأسلوب أو استخدام لغة C بشكل حاد بشكل عام.
‫لنفترض أنك ذهبت إلى مكان إيجار ، لذلك تريد الحصول على سيارة.
‫الصحيح.
‫لذلك تذهب إلى مركز استئجار سيارة ثم تكون عند المنضدة وتريد استلام السيارة التي طلبتها.
‫حسنًا ، العداد لا يحتوي على سيارتك ، لكنه يحتوي على موقع سيارتك.
‫لذلك سوف يعطيك المفاتيح وسيخبرك ، اذهب في هذا الاتجاه وستجد السيارة في صف فلان
‫، عمود ، فلان أو أرضية ، أيا كان.
‫لذا يمكنك الذهاب إلى هناك واستلام سيارتك.
‫لذا فبدلاً من تخزين السيارة داخل العداد ، والذي لن يعمل لأن السيارة ستكون كبيرة جدًا
‫، لديهم كل هذه المراجع حيث توجد السيارات بحيث يمكنك التقاطها بسهولة ، على الرغم من أن هذا المثال
‫يفتقر إلى القليل قليلاً من بقية التعقيد الذي لدينا هنا.
‫ولكن ربما يساعدك هذا على فهم نوع المرجع بشكل أفضل قليلاً.
‫حسنا.
‫هذا كل شيء الآن.
‫دعنا نعود إلى كودي.
‫نراكم في الفيديو التالي.