النوع char في أردوينو

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

يحجز النوع char بايتًا واحدًا من الذاكرة ويخزِّن فيه قيمة محرف. تُكتَب المحارف ضمن علامتي اقتباس فرديتين مثل 'A' (من أجل عدة محارف [[[Arduino/string|سلسلة نصية]]]، استعمل علامة الاقتباس الزوجية مثل "ABC").

تُخزَّن أرقامٌ في البايت المحجوز من أجل النوع char تمثِّل قيمة المحرف المقابل. يشار إلى تلك الأرقام بالترميز، والترميز المستعمل هنا هو الترميز ASCII. انتقل إلى توثيق الجدول ASCII للاطلاع على جميع المحارف والقيمة العددية المقابلة لكلٍّ منها. هذا يعني أنَّه من الممكن إجراء بعض العمليات الحسابية على المحارف التي يستعمل فيها القيمة ASCII (مثل تنفيذ العملية A' + 1' التي ستعطي القيمة 66 المقابلة للمحرف 'B'، إذ القيمة العددية للمحرف 'A' في الترميز ASCII هي 65). ألقٍ نظرة على توثيق الدالة ()Serial.println لمزيد من المعلومات حول كيفية التبديل بين المحارف وقيمتها العددية.

النوع char هو نوعٌ له إشارة؛ هذا يعني أنَّ القيم العددية التي يمكن أن يأخذها تتراوح بين 128- و 127. إن أردت بايتًا واحدًا عديم الإشارة لتخزين بيانات فيه، فاستعمل النوع byte.

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

cahr var = 'character';
char var = Number;

يمثِّل var اسم المتغير المراد التصريح عنه، ويمثِّل character المحرف المراد إسناده إلى هذا المتغير. يمكن استعمال رقم المحرف Number المقابل له في الترميز ASCII بدلًا من المحرف نفسه.

أمثلة

مثالٌ على تعريف متغير من النوع char:

char myChar = 'A';
char myChar = 65;      // كلاهما يمثِّلان المحرف نفسه

انظر أيضًا

  • النوع array: يمثِّل مصفوفة من المتغيرات الموضوعة في وعاء واحد والتي يمكن الوصول إليها والتعامل معها عبر رقم فهرس كلٍّ منها.
  • النوع bool: يخزِّن المتغير الذي يصرَّح عنه بأنَّه من النوع bool إحدى القيمتين المنطقيَّتين التاليتين: true، أو false عبر حجز بايتٍ واحدٍ من الذاكرة فقط.
  • النوع byte: يُخزِّن عددًا عديم الإشارة بحجم 8 بت؛ أي من القيمة 0 إلى القيمة 255.
  • النوع double: يحجز أربعة بايتات (32 بت) من الذاكرة فقط في لوحات أردوينو Uno (والتي تعتمد على متحكمات ATMega) أو ثمانية بايتات (64 بت) في اللوحات Due لتخزين عدد عشري فيها.
  • النوع float: يحجز أربعة بايتات (32 بت) من الذاكرة لتخزين عدد عشري فيها.
  • النوع int: يحجز حجمًا مقداره 16 بت (2 بايت) من الذاكرة في لوحات أردوينو Uno (والتي تعتمد على متحكمات ATMega) أو 32 بت (4 بايت) في لوحات أردوينو Due (والتي تعتمد على متحكمات SAMD) لتخزين عدد صحيح فيه.
  • النوع long: يحجز حجمًا كبيرًا من الذاكرة مقداره 4 بايت يستعمل لتخزين الأعداد الصحيحة التي تتسم بأنَّها طويلة.
  • النوع short: يحجز في جميع لوحات أردوينو (التي تعتمد على المتحكمات ATMega و ARM) حجمًا من الذاكرة مقداره 16 بت (2 بايت) لتخزين عدد قصير فيه.
  • النوع string: يمثِّل سلسلةً نصيةً مؤلفةً من عدة محارف مرتبطة مع بعضها بعضًا. تُستعمَل مصفوفة من المحارف لتخزين هذا النوع من البيانات واستدعائها والتعامل معها لاحقًا.
  • النوع unsigned char: يحجز حجمًا من الذاكرة مقداره 1 بايت فقط.
  • النوع unsigned int: يحجز حجمًا من الذاكرة مقداره 2 بايت في لوحات أردونيو Uno واللوحات التي تعتمد على متحكمات ATMega أو 4 بايت في لوحات أردوينو Due لتخزين عدد صحيح عديم الإشارة فيها.
  • النوع unsigned long: يحجز حجمًا كبيرًا من الذاكرة مقداره 4 بايت يُستعمَل لتخزين الأعداد الصحيحة عديمة الإشارة التي تتسم بأنَّها طويلة.
  • النوع word: يُخزِّن أعدادًا عديم الإشارة بحجم 2 بايت.

مصادر