Arduino/const

من موسوعة حسوب
< Arduino
مراجعة 08:18، 27 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (أنشأ الصفحة ب'الكلمة <code>const</code> المفتاحية هي اختصار للكلمة «ثابت» (constant)، وهي مقيِّدةٌ للمتغيرات التي تٌست...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

الكلمة const المفتاحية هي اختصار للكلمة «ثابت» (constant)، وهي مقيِّدةٌ للمتغيرات التي تٌستعمَل معها، إذ تعدِّل سلوك المتغير لتجعله في وضع «القراءة فقط» (read-only). هذا يعني أنَّه يمكن استعمال المتغير بشكل ممثال للمتغيرات التي من نفس نوعه باستثناء عدم القدرة على تغيير القيمة التي أُسندَت إليه عند إنشائه. ستواجه خطأً من المُصرِّف إن حاولت إسناد قيمةٍ لمتغيرٍ استُعملَت الكلمة المفتاحية const معه.

تمتثل الثوابت المعرَّفة باستعمال الكلمة المفتاحية const لقواعد مجال المتغير (variable scoping) التي تضبط بقية المتغيرات. مع أخذ مخاطر استعمال استعمال define# بالحسبان، إنَّ ذلك يجعل من الكلمة المفتاحية const الطريقة الأمثل لتعريف الثوابت، ويفضل استعمالها بدلًا من define#.

البنية العامة

const dataType var = val;

يمثِّل dataType نوع المتغير المراد تعريفه، و var اسم المتغير، و val القيمة المراد إسنادها إلى هذا المتغير الثابت. انتبه إلى أنَّه متى ما أسندت القيمة val إلى المتغير، لن يعد بالإمكان تغييرها وسيصبح المتغير للقراءة فقط.

أمثلة

استعمال الكلمة const لتعريف الثابت π المستعمل في العمليات الرياضية:

const float pi = 3.14;
float x;

// ....

x = pi * 2;    // تستعمل الثوابت كثيرًا في العمليات الرياضية

pi = 7;        // سيولد هذا خطأً، إذ لا يمكن الكتابة على متغير ثابت

ملاحظات وتحذيرات

التعبير define# أم الكلمة المفتاحية const؟

يمكنك استعمال إمَّا الكلمة const المفتاحية أو التعبير define# لإنشاء ثوابت عددية أو نصية. أمَّا مع المصفوفات، فأنت بحاجة إلى استعمال const معها فقط. عمومًا، استعمال الكلمة const المفتاحية مفضَّلٌ على استعمال التعبير define#.

انظر أيضًا

مصادر