المحتوى هنا ينقصه الاستشهاد بمصادر، أي معلومات غير موثقة يمكن التشكيك بها وإزالتها.

أنواع البيانات في C++

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث
Question book-new.svg
المحتوى هنا ينقصه الاستشهاد بمصادر. يرجى إيراد مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (فبراير 2016)

في كل لغة برمجة تحتاج إلى أنواع البيانات لكي تتعامل مع الذاكرة, من هذه اللغات لغة البرمجة ++C/C, التي تحتوي على عدة أنواع بيانات منها الأولية مثل: int و bool ومنها المركبة مثل: Array و structure و union و Class ومنها ماهو مختلف مثل: المؤشرات و المراجع.

أنواع البيانات[عدل]

أنواع البيانات الأولية[عدل]

مقالة مفصلة عن أنواع البيانات الأولية

الأنواع الأساسية[عدل]

  • int: عدد صحيح حجمه 4 بايت.
  • short: عدد صحيح حجمه 2 بايت.
  • long: عدد صحيح حجمه 4 بايت.
  • bool: منطقي حجمه 1 بايت.
  • float: عدد عشري حجمه 4 بايت.
  • double:عدد مضاعف حجمه 4 بايت.
  • char: حرفي من جدول الأسكي
  • wchar_t: حرفي واسع يضم جدول اليونيكود أوسع من الأسكي.
  • void: نوع يمكن أن يستعمل مع كل الأنواع.

int: integer size is 4 bytes.
short: integer size is 2 bytes.
long: integer size is 4 bytes.
bool: logical size of 1 byte.
float: float size is 4 bytes.
double: double the number of size 4 bytes.dl 
char: craftsman from the ASCII table
wchar_t: Spacious craftsman table Unicode wider than ASCII.
void: the type that can be used with all types.

الأنواع الإضافية[عدل]

  • signed int : يساوي int, عدد صحيح حجمه 4 بايت
  • unsigned int: عدد صحيح موجب لايحمل إشارة حجمه 4 بايت.
  • unsigned short: عدد صحيح موجب قصير لايحمل إشارة حجمه 2 بايت.
  • unsigned long: عدد صحيح موجب طويل لايحمل إشارة حجمه 4 بايت.
  • 'r': يساوي char, حرفي من جدول الأسكيsigned cha
  • unsigned char : حرفي موجب من 0 إلى 255.
  • long long: عدد صحيح موجب طويل حجمه 8 بايت.
  • unsigned long long: عدد صحيح موجب طويل لايحمل إشارة حجمه 8 بايت.
  • long double: عدد عشري موجب طويل لايحمل إشارة حجمه 8 بايت.

الأنواع المركبة[عدل]

المصفوفات[عدل]

المصفوفات: هي عبارة عن حاوي تقوم تقوم بتخزين عدد من العناصر من نفس النوع وبترتيب محدد,أي هي عبارة عن خانات في الذاكرة متجاورة مع بعضها البعض, ولأجل الرجوع إلى خانة معينة يكفي ذكر اسم المصفوفة مع رقم الخانة, تعريف المصفوفة:

// syntax:
// Type name[index];
//             1  2  3  4  5  6 items
//             0  1  2  3  4  5 index
int Arr[]   = {1, 2, 3, 4, 5, 6};
int Arr1[6] = {1, 2, 3, 4, 5, 6};
int Arr2[100], Arr3[200];
int Arr4[6];    // 6 item:
Arr4[0] = 1;
Arr4[1] = 2;
 //....
Arr4[5] = 6;

بالنسبة للمصفوفات النصية فتكتب كالتالي:


// -- String --
//             1 2 3 4 5 6  items
//             0 1 2 3 4 6  index
//             H e l l o \0  char

char str[5]  = "Hello";  // Error
char str1[6] = "Hello";  // Ok
cout << str1;

char str1[5] = {'H', 'e', 'l', 'l', 'o', '\0'}

أخطاء قواعدية(نحوية يقوم المترجم بإعطاء رسالة خطأ ولايقوم بتنفيذ البرنامج)في تعريف المصفوفات:

int Arr5[0];                // Error: 0 item
int Arr6 = {1,2,3,4,5,6};   // Error: 6 items

أخطاء منطقية مثل نسيان تهيئة المصفوفة, أو الخروج عن حد(فهرس) المصوفة بعد تعريفها(وليس عند تعريفها), هذه الأخطاء قد تحدث بعد تنفيذ البرنامج ولايقوم المترجم بكشفها خلال مرحلة الترجمة:

int Arr7[5] = {1, 2, 3, 4, 5};
             //0  1  2  3  4 index
             //1  2  3  4  5 items
cout << Arr7[4]   // -> 5
  << '\n';
cout << Arr7[5]   // -> 2686828
  << '\n';
cout << Arr7[6]   // -> 945547239
  << '\n';

يمكننا تعريف مصفوفة ساكنة بوساطة الكلمة static, يؤدي ذلك إلى إنشاء هذه المصفوفة وإعطائها قيمة ابتدائية لمرة واحدة فقط وليس في كل مرة يتم فيها استدعاء الدالة, ولايجري استبعادها عند الخروج من الدالة, وإنما عند الخروج من البرنامج.

  • يفيد ذلك في تحسين الأداء خاصة عند التعامل مع المصفوفات الكبيرة, لأنك تنفذ هذا الأمر مرة واحدة فقط.
  • عند تعريف مصفوفة ساكنة يقوم المترجم بإعطاء قيما أولية مساوية للصفر, إذا لم يفعلها المبرمج, خلافا للمصفوفات العادية.
  • يجب عليك تحديد حجم ثابت للمصفوفة الساكنة فلايجوز استخدام متغير في تحديد حجم المصفوفة مثل ماذكرنا سابقا:

int varable_ = 5;
static int Array[varable_];		// Error
----
const int varable_ = 5;
static int Array[varable_];		// Ok
----
static int c[5];		        // Ok

التركيبات[عدل]

الاتحاد[عدل]

التعدادات[عدل]

الفئات[عدل]

المؤشرات والمراجع[عدل]

انظر أيضاً[عدل]

مراجع[عدل]