char
سألني أحد طلابي سؤال :
هو النوع char مش بيخزن حرف واحد وأنت قلت لنا الحرف الواحد يخزن في خلية واحدة من خلايا الذاكرة يعني 1Byte... طيب ليه بيأخذ خليتين من خلايا الذاكرة لو أعلنا عن بيان نوعه char ؟ .....
قلت له :
هو يمثل حرف واحد فقط من حروف Unicode لذلك لا يمكن أن تحمل قيمة حرفيه تزيد عن حرف واحد، كما يشرط استخدام حرف الذيل "C" حتى تميز القيمة الحرفية من النوع "char" عن النوع "String"
مثال :
Dim A as char
A="D"C
هو الذيل ده C مش عاوز خلية زيادة يتخزن فيها ؟؟؟
وبمناسبة هذا النوع من البيانات .... هو إحنا متى نحتاجه وما الجدوى منه أساساً رغم إمكانياته المحدودة..؟؟؟
السبب ببساطة السرعة في التنفيذ والاقتصاد في استهلاك مصادر النظام. حيث أن المتغيرات من نوع
char هي متغيرات من النوع ذات القيمة Value Type Variables وهي تمحى من الذاكرة مباشرة بعد نهاية عمر المتغير بينما المتغيرات من النوع String هي متغيرات مرجعية Reference Type Variables وفي الحقيقة لا تتم عملية إزالة قيمها من الذاكرة مباشرة بعد نهاية عمرها الافتراضي، فهي تتطلب عملية تسمى إفراغ المصادر .
أيوة أنا أضطررت للخروج عن المنهج لأفسر وأشرح لطالبي ما أراد ربما يكبر يوماً ويعمل مبرمجاً محترفاً ويتذكر كلامي .... فأنا لا أستطيع أن أقول له الموضوع ده صعب عليك ومش هاتفهمه .... طالما أنه هو الذي سأل .... ومن يدري ربما فهم كلامي أو جزء منه .
|