الرئيسية
سجل الزوار
القائمة البريدية
راسلنا
خريطة الموقع
جديد الصور
جديد البطاقات
جديد الصوتيات
المتواجدون الآن
تغذيات RSS
2012-08-10 06:41
#C تعتمد بشكل كبير على ما يسمى بالأنواع، فكل شئ في هذه اللغة له نوع، هذه الأنواع تحدد المساحة التخزينية المتاحة للبيانات وطريقة تخزينها في ذاكرة الكومبيوتر.
قبل أن نتطرق لشرح الأنواع المختلفة في #C، دعنا نتعرف قليلاً على ذاكرة الكومبيوتر.
نستطيع أن نتخيل ذاكرة الكومبيوتر بأنها خزانة بها عدد من الأرفف، كل رف من هذه الأرفف يسمى بالـ "موضع" فذاكرة الكومبيوتر عبارة عن عدد معين من المواضع، وكل موضع من هذه المواضع عبارة عن سلسلة من الخانات الثنائية وكل خانة تسمى بت bit؛ وتحتوي هذه الخانة إما على 0 أو 1 بحيث أن كل 8 - بت تمثل بايت byte واحد.
وبهذا فإن جميع البيانات تخزن داخل هذه المواضع في صورة 0 أو 1 فقط
الشكل -1
الأنواع في #C تنقسم من حيث وجودها إلى قسمين:
أنواع جاهزة
أنواع غير جاهز
الأنواع الجاهزة هي الأنواع الموجودة ضمن مكتبة .NET FRAMEWORK وتسمى بالـ Built-In Types، وهي إما أن تكون أنواعاً رقمية أو غير رقمية.
والقسم الثاني - الأنواع الغير جاهزة؛ هي أنواع يُعرِّفها المستخدم، وتسمى بالـ User-Defined Types. وهي ما سنتعرف عليه لاحقاً مثل: class, struct, delegate, array, و interface.
تنقسم أيضاً الأنواع في #C من حيث طريقة التخزين إلى قسمين:
Value Type
Reference Type
جميع الأنواع الجاهزة التي تعرفنا عليها هي Value Type ما عدا النوع string فهو Reference Type.
وجميع الأنواع الغير جاهزة هي Reference Type ما عدا النوع struct فهو Value Type.
و الفرق بين هذين القسمين أنه في القسم الأول Value Type فإنه يتم تخزين القيمة مباشرة في الموضع المحجوز في ذاكرة الكومبيوتر مباشرة، فمثلاً لو عرفنا متغير من النوع int فإن قيمة هذا المتغير تحفظ في الذاكرة مباشرة، بينما في القسم الثاني Reference Type فإن موضع الذاكرة المحجوز بأحد أنواع هذا القسم المذكورة -كالنوع string - يحمل عنوان موضع آخر حيث توجد به القيمة المخزنة.
والشكل التالي يوضح الفرق بين القسمين، حيث يبين الطريقة التي تخزن فيها البيانات. لدي متغيرين الأول I=10 من النوع int والثاني s="hello" من النوع string.
|
|
خدمات المحتوى
|
تقييم
|
|
|
Powered by Dimofinf cms Version 3.0.0
Copyright© Dimensions Of Information Inc.