أهلا ومرحبا بكم مرة أخرى.
في هذه المحاضرة أريد أن أتحدث عن مُعدِّل الثبات وكيف
نستخدمه مع المؤشرات.
لقد تعلمنا عن المحاضرات السابقة المستمرة.
هذا يعني فقط أنه لا يمكنك تغيير قيمة المتغير. ولكن ماذا يعني عندما نطبقه على مؤشر؟
لذلك عندما نستخدم معدل const في متغير أو مصفوفة ،
فإنه يخبر المترجم أن محتويات مصفوفة المتغير لن تتغير بواسطة البرنامج.
كان البديل هو إنشاء جمل تعريف بواسطة المعالج المسبق ، لكن const
عادة ما تكون طريقة أفضل وأكثر فاعلية للقيام بذلك.
مع المؤشرات ، علينا أن نأخذ في الاعتبار شيئين عند استخدام معدل ثابت.
هل نقول في الواقع أن المؤشر لا يمكن تغييره؟
أم أننا نقول إن القيمة التي يشير إليها المؤشر لا يمكن تغييرها؟
لأن تذكر أن المؤشر يحتوي على قيمة العنوان.
وقد لا نرغب في تغيير هذا العنوان أبدًا.
أو قد لا نرغب في تغيير القيمة التي تشير إليها النقطة.
في كلتا الحالتين ، يجب أن نكون محددين في تركيبنا.
لذلك يمكنك استخدام الكلمة الأساسية const عندما تقوم بتعريف مؤشر للإشارة إلى أن القيمة
المشار إليها يجب ألا تتغير.
الطريقة التي تقدم بها هذا ومرة أخرى بحيث
يكون المؤشر قيمة كقيمة لها عنوان.
ما يشير إليه هو قيمة هذا العنوان.
إذا كنت تريد ألا يتغير ذلك ، فستفعل
شيئًا كهذا.
ستقول عندما تعلن عن المؤشر أنك ستضع علامة النجمة
في المعدل الثابت قبل الكتابة.
لذلك يمكنك أن تقول ثابتًا مهما كان نوع المؤشر الخاص بك هو مؤشر النجمة.
إذن هذا مشوه في الواقع وهو تحديد المؤشر
إلى ثابت.
لن نكون قادرين على تغيير 999 لتر.
لذلك نعلن أن القيمة التي تشير إليها pvalue ثابتة.
سيتحقق المترجم من أي عبارات تحاول تعديل القيمة المشار إليها بواسطة pvalue.
وإذا كان هناك أي رفيق يفعل ذلك في البرنامج ، فسيحدث خطأ.
إذن هذا هو النحو. مرة أخرى ، ما تريد أن تلاحظه
هنا هو أن const هي الكلمة الأولى
، وهي قبل الكتابة. هذا يعني أن القيمة التي تشير إلى لا
يمكن أن تتغير.
لذا إذا حاولت القيام بشيء مثل هذا على pvalue ، فحاول
تعيين قيمة إلى ما يشير إليه لأنك ترى عامل
المراوغة هناك. هذا يعني أننا نخصص قيمة
لما نشير إليه. إذا حاولنا القيام بذلك
، فسيظهر خطأ لأننا لا نستطيع تغيير هذه القيمة
، ولا يمكننا تغيير 999 لتر إلى 888 لترًا.
والآن ماذا عن مؤشرات الثوابت.
وفي الإعلان السابق ، أنشأنا المؤشر
الذي تشير إليه النقطة لا يمكن تغييره.
لكن لا يزال بإمكاننا تغيير القيمة الفعلية للمتغير الذي أعلناه.
لذلك سنظل قادرين على تغيير قيمة الشراء.
لا يمكننا تغيير قيمة النجم p.
لكن القيمة الطويلة لا تُعرَّف على أنها ثابتة ، بل تُعرَّف فقط على أنها قيمة طويلة.
لذلك لا يزال بإمكاننا تعديل مؤشر القيمة الصحيحة
لأنه لم يتم تطبيقه بشكل ثابت.
لقد طبقنا الثابت فقط على المؤشر. إذن يمكننا القول أن القيمة تساوي 777 لترًا.
تم تغيير القيمة المشار إليها ، لكنك لم تستخدم المؤشر لإجراء التغيير.
المؤشر نفسه ليس ثابتًا أيضًا.
يتذكر المؤشر يحتوي على عنوان.
لم نعلن أن المؤشر ثابت. لذلك لا يزال بإمكاننا تغيير
نحن ما يشير إليه المؤشر ليكون ثابتًا. ذلك أيضًا. إذا أعلنا عن متغير جديد يسمى number ، فيمكننا
القول أن قيمة p تساوي عنوان هذا الرقم.
هذا جيد تمامًا لأننا نغير عنوان قيمة المؤشر.
نحن لا نغير قيمة ما كان يشير إليه المؤشر.
لذا افهم هذا التمييز ، إما بتغيير
قيمة المؤشر ، وهو مجرد
عنوان أو تغيير ما يشير إليه المؤشر.
إذا كنت لا ترغب في تغيير ما يشير إليه
المؤشر ، فيجب أن تكون const أول كلمة رئيسية في إعلان المؤشر نفسه.
مرة أخرى ، في هذا المثال ، سنقوم بتغيير العنوان المخزن في قيمة p للإشارة إلى رقم.
ما زلنا لا نستطيع استخدام المؤشر لتغيير القيمة المخزنة لأنه تم الإعلان
عن ذلك حيث لا يمكننا تغيير هذه القيمة.
يمكنك تغيير العنوان المخزن في المؤشر بقدر ما تريد ، تمامًا كما فعلنا.
لا يُسمح باستخدام المؤشر لتغيير القيمة المشار
إليها حتى بعد تغيير العنوان المخزن في المؤشر.
لذلك على الرغم من أننا قمنا بتغييرها إلى
رقم طويل ، إلا أن المؤشر لا يزال ثابتًا كالكلمة الرئيسية.
لذلك لا يمكننا تغيير القيمة بغض النظر عن ما يشير إليه المؤشر.
ماذا عن عدم السماح بتغيير عنوان المؤشر
، القيمة الموجودة في المؤشر.
لذلك قد ترغب أيضًا في التأكد من أن العنوان المخزن في المؤشر لا يمكن تغييره.
يمكنك القيام بذلك باستخدام الكلمة الأساسية الثابتة
في إعلان المؤشر بنفس الطريقة ، لكنها مختلفة قليلاً.
بدلاً من استخدام كلمة const على أنها الكلمة الأساسية
الأولى ، يمكنك وضعها بعد نوع البيانات وبعد علامة النجمة.
هذا يعني أن المؤشر نفسه لا يمكن أن يغير قيمته.
إذا وضعته قبل int ، فأنت تقول إن القيمة التي يشير إليها المؤشر لا يمكن أن تتغير.
لذلك عند القيام بذلك ، فإنه يضمن أن المؤشر يشير دائمًا إلى نفس الشيء.
العنوان لن يتغير ابدا.
سيتحقق المترجم من أنك لا تعكس
محاولة تغيير المؤشر في مكان آخر في الكود الخاص بك.
لا يمكنك تغيير هذا العنوان.
لذلك إذا حاولت أن تقول p count يساوي و item ، فستحصل على خطأ.
لأن ذلك يمكن أن يشير فقط إلى عنوان العد.
الأمر كله يتعلق بالمكان الذي تضع فيه الكلمة الرئيسية الثابتة إذا كنت تريد التغيير.
إذا كنت لا تريد السماح للمؤشر بالتغيير أو إذا
لم تسمح بتغيير عنوان المؤشر.
ثابت لأن الكلمة الأساسية الأولى لا تسمح بتغيير قيمة المؤشرات التي تشير إلى التغيير.
إذا وضعت الثابت بعد نوع البيانات في النجمة ، فهذا يعني
أن عنوان المؤشر لا يمكن تغييره.
لذلك هذا كثير مما يجب القيام به وهذا محير للغاية ، لذا ادرس ما قلته للتو.
افهم أن بناء الجملة مهم جدًا
وصعب للغاية. يمكن أن يكون من السهل جدا ارتكاب
هذا الخطأ. لذا فهم الفرق.
لا يزال بإمكانك تغيير القيمة
التي يحسبها p إلى استخدام p ، تمامًا كما فعلنا في السابق. نظرًا لأن p count هو ، على الرغم من أننا قمنا بتعيين
عنوان جديد ، فلا يزال بإمكاننا تغيير
القيمة التي تشير إلى.
حتى نتمكن من حذفها وتغييرها بهذه الطريقة. يمكننا القول أن عدد النجوم p يساوي 345 ، فلا بأس بذلك.
يشير إلى القيمة المخزنة في العد من خلال المؤشر ويغير القيمة إلى 345.
يمكنك إنشاء مؤشر ثابت يشير إلى قيمة ثابتة أيضًا ،
لذلك يمكنك القيام بشيء مثل هذا ، ثابت في النجمة
، عنصر p ثابت.
وهذا يعني أن القيمة التي تشير إليها
ثابت وأن المؤشر نفسه ثابت.
لذا فإن العنصر p هو مؤشر ثابت إلى ثابت ، لذا يتم إصلاح كل شيء.
لا يمكنك تغيير العنوان المخزن في العنصر p ولا يمكنك
استخدام العنصر p لتعديل ما يشير إليه.
ومع ذلك ، لا يزال بإمكانك تغيير العنصر.
العنصر ليس ثابتًا ، لذا يمكنك تغيير العنصر.
يمكنك تغيير القيمة مباشرة.
إذا أردت التأكد من عدم تغيير أي شيء ، فسيتعين عليك بالفعل
إنشاء متغير العنصر int باعتباره ثابتًا أيضًا.
وبعد ذلك قد يقول ذلك إنه لن يتغير أبدًا.
لكن تذكر الفرق هنا بين المؤشرات
الثابتة والقيم الثابتة التي يشير إليها المؤشر.
يمكنك استخدام كليهما. يمكنك استخدام أحدهما أو الآخر.
إذا أردت التأكد من أن
كل شيء ثابت ، فتأكد من أن ما تشير إليه هذا المتغير ثابت أيضًا. شكرًا لك.