انواع و احجام البيانات في c++

عند كتابة برنامج بأي لغة، تحتاج إلى استخدام متغيرات مختلفة لتخزين معلومات مختلفة. المتغيرات ليست سوى مواقع ذاكرة محجوزة لتخزين القيم. وهذا يعني أنه عند إنشاء متغير، فإنك تحجز بعض المساحة في الذاكرة.

قد ترغب في تخزين معلومات من أنواع بيانات مختلفة مثل الأحرف والرموز العريضة والأعداد الصحيحة والفاصلة العائمة والفاصلة العائمة المزدوجة والمنطقية وما إلى ذلك. بناءً على نوع بيانات المتغير، يخصص نظام التشغيل الذاكرة ويقرر ما يمكن تخزينه في الذاكرة المحجوزة.

الأنواع المضمنة البدائية
يوفر C++ للمبرمج مجموعة غنية من الأنواع المضمنة

يوضح الجدول التالي سبعة أنواع أساسية من بيانات C++

 

Type Keyword
Boolean bool
Character char
Integer int
Floating point float
Double floating point double
Valueless void
Wide character wchar_t

يمكن تعديل العديد من الأنواع الأساسية باستخدام واحد أو أكثر من معرّفات النوع هذه −

signed
unsigned
short
long

يوضح الجدول التالي نوع المتغير، وكمية الذاكرة اللازمة لتخزين القيمة في الذاكرة، وما هي القيمة القصوى والدنيا التي يمكن تخزينها في هذا النوع من المتغيرات.

Type Typical Bit Width Typical Range
char 1byte -127 to 127 or 0 to 255
unsigned char 1byte 0 to 255
signed char 1byte -127 to 127
int 4bytes -2147483648 to 2147483647
unsigned int 4bytes 0 to 4294967295
signed int 4bytes -2147483648 to 2147483647
short int 2bytes -32768 to 32767
unsigned short int 2bytes 0 to 65,535
signed short int 2bytes -32768 to 32767
long int 8bytes -9223372036854775808 to 9223372036854775807
signed long int 8bytes same as long int
unsigned long int 8bytes 0 to 18446744073709551615
long long int 8bytes -(2^63) to (2^63)-1
unsigned long long int 8bytes 0 to 18,446,744,073,709,551,615
float 4bytes
double 8bytes
long double 12bytes
wchar_t 2 or 4 bytes 1 wide character

قد يختلف حجم المتغيرات عن تلك الموضحة في الجدول أعلاه، وذلك حسب المترجم والكمبيوتر الذي تستخدمه.

 

 

مثال
فيما يلي مثال سيُظهر الحجم الصحيح لأنواع البيانات المختلفة على جهاز الكمبيوتر الخاص بك.

 

#include <iostream>
using namespace std;

int main() {
cout << "Size of char: " << sizeof(char) << " bytes" << endl;
cout << "Size of int: " << sizeof(int) << " bytes" << endl;
cout << "Size of short int: " << sizeof(short int) << " bytes" << endl;
cout << "Size of long int: " << sizeof(long int) << " bytes" << endl;
cout << "Size of float: " << sizeof(float) << " bytes" << endl;
cout << "Size of double: " << sizeof(double) << " bytes" << endl;
cout << "Size of wchar_t: " << sizeof(wchar_t) << " bytes" << endl;

return 0;
}

يستخدم هذا المثال endl، الذي يقوم بإدراج حرف سطر جديد بعد كل سطر، ويتم استخدام عامل << لتمرير قيم متعددة إلى الشاشة.

نستخدم أيضًا عامل sizeof() للحصول على حجم أنواع البيانات المختلفة.

عند تجميع الكود أعلاه وتنفيذه، فإنه ينتج النتيجة التالية التي يمكن أن تختلف من جهاز إلى آخر −

#include <limits>
using namespace std;

int main() {
std::cout<<"Int Min "<<std::numeric_limits<int>::min() <<endl;
std::cout<<"Int Max "<<std::numeric_limits<int>::max() <<endl;
std::cout<<"Unsigned Int Min "<<std::numeric_limits<unsignedint>::min() <<endl;
std::cout<<"Unsigned Int Max "<<std::numeric_limits<unsignedint>::max() <<endl;
std::cout<<"Long Int Min "<<std::numeric_limits<longint>::min() <<endl;
std::cout<<"Long Int Max "<<std::numeric_limits<longint>::max() <<endl;
std::cout<<"Unsigned Long Int Min "<<std::numeric_limits<unsignedlongint>::min() <<endl;
std::cout<<"Unsigned Long Int Max "<<std::numeric_limits<unsignedlongint>::max() <<endl;
}

Derived Data Types أنواع البيانات المشتقة

أنواع البيانات التي يتم الحصول عليها من أنواع البيانات المحددة مسبقًا في C++ تُعرف باسم أنواع البيانات المشتقة. ويمكن تصنيفها إلى أربع فئات، وهي − 1. الدالة Function
الدالة هي أبسط أشكال نوع البيانات المحدد من قبل المستخدم. وهي تتضمن نوع إرجاع واسم دالة ومعلمات إدخال.

return_type function_name(input_param1, input_param2…)
{ <function_body> }

#include <iostream>
using namespace std;

string func(int n){
//returns if n is odd or even
if(n%2) return"Given number is Odd !";
elsereturn"Given number is Even !";
}
int main(){
inta;
//enter a number
cin>>a;
cout<<func(a);
//a simple function to check if
//number is odd or even
return0;
}
 

اترك ردّاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

CodeCamb
محتاج مساعدة؟
أكاديمية كودكامب
مرحباً
محتاج مساعدة؟