التعبير #define
في أردوينو
التعبير #define
هو أحد العناصر المفيدة في C، إذ يسمح بإعطاء اسمٍ لقيمةٍ ثابتةٍ قبل أن يُفسَّر البرنامج. الثوابت المعرَّفة باستعمال هذا التعبير في أردوينو لا تحتل أيَّة مساحةٍ من ذاكرة البرنامج على الشريحة (chip). سيبدِّل المفسِّر (compiler) القيمة المعرَّفة مكان المراجع التي تشير إلى هذه الثوابت أثناء عملية تصريف الشيفرة.
انتبه إلى أنَّ استعمال التعبير #define
في تعريف الثوابت كما ذُكِر آنفًا له آثار جانبية غير مرغوبة مثل استعمال اسم ثابت عُرِّف في #define
مع اسم ثابت أو متغير آخر؛ في هذه الحالة، سيُستبدَل باسم الثابت المعرَّف عبر #define
القيمة المعطاة أينما وُجِدَ في الشيفرة وهذا سيؤدي إلى أخطاء عند تنفيذها.
عمومًا، يفضل استعمال الكلمة const
المفتاحية لتعريف الثوابت التي يستعاض بها عن استعمال #define
.
البنية العامة
#define constantName value
ملاحظة: لا تنسَ إضافة الرمز #
لأنه ضروري.
أمثلة
مثالٌ على استعمال التعبير #define
لتسمية أسماء الأرجل المراد استعمالها عوضًا عن استعمال القيم العددية لها أو تعريف متغير يستهلك جزءًا من الذاكرة:
#define ledPin 3
// أينما ذكرت أثناء تفسير الشيفرة ledPin سيبدل المفسر القيمة 3 مكان الكلمة
ملاحظات وتحذيرات
لاحظ أنه لا يوجد فاصلة منقوطة في نهاية نهاية التعبير #define
. إن وضعت واحدة، فسيرمي المفسِّر أخطاءً مبهمةً أثناء تفسير الشيفرة وإرسالها إلى اللوحة.
#define ledPin 3; // سيرمي هذا خطأً
بشكل مشابه، سيؤدي إضافة إشارة تساوي بين اسم الثابت وقيمته في التعبير #define
إلى رمي خطأ مبهم أثناء تصريف الشيفرة وكتابتها على اللوحة.
#define ledPin = 3 // سيرمي هذا خطأً
انظر أيضًا
- التعبير
#include
: يُستعمَل لتضمين مكتبات خارجية في شيفرتك. - الرمز
;
: يُستعمَل لإنهاء كل تعبير برمجي في لغة أردوينو C. - الأقواس
{}
: هي جزء لا يتجزأ من لغة C وتستعمل في بُنى عديدة مثل بنى التحكم وغيرها. - الكلمة المفتاحية
const
: هي اختصار للكلمة «ثابت» (constant)، وهي مقيِّدةٌ للمتغيرات التي تٌستعمَل معها، إذ تعدِّل سلوك المتغير لتجعله في وضع «القراءة فقط» (read-only). - الثوابت في أردوينو.
- استعمال التعليقات الكتلية في أردوينو.
- استعمال التعليقات السطرية في أردوينو.