Mohssen A Mohssen نشر 29 نوفمبر 2021 أرسل تقرير نشر 29 نوفمبر 2021 أريد أن أعرف المساحة التي يشغلها نوع معين (مثل int أو double) في الذاكرة، فعلى سبيل المثال: النوع int يستغل 4 bytes من الذاكرة. كيف يمكنني أن أتأكد من هذا الرقم؟ وكيف يمكنني معرفة حجم باقي الأنواع في ++C؟ 1 اقتباس
1 سامح أشرف نشر 29 نوفمبر 2021 أرسل تقرير نشر 29 نوفمبر 2021 حجم كل نوع يعتمد على المصرف Compiler لديك، ويمكنك معرفة حجم كل نوع من خلال إستخدام المعامل sizeof حيث يعيد هذا المعامل حجم النوع الممر له بالبايت، كالتالي: std::cout << "int: " << sizeof(int) << " bytes\n"; // int: 4 bytes ويمكنك معرفة حجم أشهر الأنواع المستعملة في لغة ++C كالتالي: #include <iostream> int main() { std::cout << "bool:\t\t" << sizeof(bool) << " bytes\n"; std::cout << "char:\t\t" << sizeof(char) << " bytes\n"; std::cout << "wchar_t:\t" << sizeof(wchar_t) << " bytes\n"; std::cout << "char16_t:\t" << sizeof(char16_t) << " bytes\n"; std::cout << "char32_t:\t" << sizeof(char32_t) << " bytes\n"; std::cout << "short:\t\t" << sizeof(short) << " bytes\n"; std::cout << "int:\t\t" << sizeof(int) << " bytes\n"; std::cout << "long:\t\t" << sizeof(long) << " bytes\n"; std::cout << "long long:\t" << sizeof(long long) << " bytes\n"; std::cout << "float:\t\t" << sizeof(float) << " bytes\n"; std::cout << "double:\t\t" << sizeof(double) << " bytes\n"; std::cout << "long double:\t" << sizeof(long double) << " bytes\n"; return 0; } وستكون النتيجة كالتالي: bool: 1 bytes char: 1 bytes wchar_t: 2 bytes char16_t: 2 bytes char32_t: 4 bytes short: 2 bytes int: 4 bytes long: 4 bytes long long: 8 bytes float: 4 bytes double: 8 bytes long double: 8 bytes قد تجد أن الأرقام السابقة مختلفة لديك، حيث يقوم المصرّّف نفسه بتحديد حجم كل نوع، لذلك يختلف الأمر من مصرَّف لآخر. 1 اقتباس
السؤال
Mohssen A Mohssen
أريد أن أعرف المساحة التي يشغلها نوع معين (مثل int أو double) في الذاكرة، فعلى سبيل المثال: النوع int يستغل 4 bytes من الذاكرة.
كيف يمكنني أن أتأكد من هذا الرقم؟ وكيف يمكنني معرفة حجم باقي الأنواع في ++C؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.