• 变量的大小会根据编译器和所使用的电脑而有所不同


    下面实例会输出您电脑上各种数据类型的大小。

    实例

    #include <iostream>
    #include <limits>

    using namespace std;

    int main()
    {
    cout << "type: " << "************size**************"<< endl;
    cout << "bool: " << "所占字节数:" << sizeof(bool);
    cout << " 最大值:" << (numeric_limits<bool>::max)();
    cout << " 最小值:" << (numeric_limits<bool>::min)() << endl;
    cout << "char: " << "所占字节数:" << sizeof(char);
    cout << " 最大值:" << (numeric_limits<char>::max)();
    cout << " 最小值:" << (numeric_limits<char>::min)() << endl;
    cout << "signed char: " << "所占字节数:" << sizeof(signed char);
    cout << " 最大值:" << (numeric_limits<signed char>::max)();
    cout << " 最小值:" << (numeric_limits<signed char>::min)() << endl;
    cout << "unsigned char: " << "所占字节数:" << sizeof(unsigned char);
    cout << " 最大值:" << (numeric_limits<unsigned char>::max)();
    cout << " 最小值:" << (numeric_limits<unsigned char>::min)() << endl;
    cout << "wchar_t: " << "所占字节数:" << sizeof(wchar_t);
    cout << " 最大值:" << (numeric_limits<wchar_t>::max)();
    cout << " 最小值:" << (numeric_limits<wchar_t>::min)() << endl;
    cout << "short: " << "所占字节数:" << sizeof(short);
    cout << " 最大值:" << (numeric_limits<short>::max)();
    cout << " 最小值:" << (numeric_limits<short>::min)() << endl;
    cout << "int: " << "所占字节数:" << sizeof(int);
    cout << " 最大值:" << (numeric_limits<int>::max)();
    cout << " 最小值:" << (numeric_limits<int>::min)() << endl;
    cout << "unsigned: " << "所占字节数:" << sizeof(unsigned);
    cout << " 最大值:" << (numeric_limits<unsigned>::max)();
    cout << " 最小值:" << (numeric_limits<unsigned>::min)() << endl;
    cout << "long: " << "所占字节数:" << sizeof(long);
    cout << " 最大值:" << (numeric_limits<long>::max)();
    cout << " 最小值:" << (numeric_limits<long>::min)() << endl;
    cout << "unsigned long: " << "所占字节数:" << sizeof(unsigned long);
    cout << " 最大值:" << (numeric_limits<unsigned long>::max)();
    cout << " 最小值:" << (numeric_limits<unsigned long>::min)() << endl;
    cout << "double: " << "所占字节数:" << sizeof(double);
    cout << " 最大值:" << (numeric_limits<double>::max)();
    cout << " 最小值:" << (numeric_limits<double>::min)() << endl;
    cout << "long double: " << "所占字节数:" << sizeof(long double);
    cout << " 最大值:" << (numeric_limits<long double>::max)();
    cout << " 最小值:" << (numeric_limits<long double>::min)() << endl;
    cout << "float: " << "所占字节数:" << sizeof(float);
    cout << " 最大值:" << (numeric_limits<float>::max)();
    cout << " 最小值:" << (numeric_limits<float>::min)() << endl;
    cout << "size_t: " << "所占字节数:" << sizeof(size_t);
    cout << " 最大值:" << (numeric_limits<size_t>::max)();
    cout << " 最小值:" << (numeric_limits<size_t>::min)() << endl;
    cout << "string: " << "所占字节数:" << sizeof(string) << endl;
    // << " 最大值:" << (numeric_limits<string>::max)() << " 最小值:" << (numeric_limits<string>::min)() << endl;
    cout << "type: " << "************size**************"<< endl;
    return 0;
    }

    本实例使用了 endl,这将在每一行后插入一个换行符,<< 运算符用于向屏幕传多个值。我们也使用 sizeof() 函数来获取各种数据类型的大小。

    当上面的代码被编译和执行时,它会产生以下的结果,结果会根据所使用的计算机而有所不同:

    type:         ************size**************
    bool:         所占字节数:1    最大值:1        最小值:0
    char:         所占字节数:1    最大值:        最小值:?
    signed char:     所占字节数:1    最大值:        最小值:?
    unsigned char:     所占字节数:1    最大值:?        最小值:
    wchar_t:     所占字节数:4    最大值:2147483647        最小值:-2147483648
    short:         所占字节数:2    最大值:32767        最小值:-32768
    int:         所占字节数:4    最大值:2147483647    最小值:-2147483648
    unsigned:     所占字节数:4    最大值:4294967295    最小值:0
    long:         所占字节数:8    最大值:9223372036854775807    最小值:-9223372036854775808
    unsigned long:     所占字节数:8    最大值:18446744073709551615    最小值:0
    double:     所占字节数:8    最大值:1.79769e+308    最小值:2.22507e-308
    long double:     所占字节数:16    最大值:1.18973e+4932    最小值:3.3621e-4932
    float:         所占字节数:4    最大值:3.40282e+38    最小值:1.17549e-38
    size_t:     所占字节数:8    最大值:18446744073709551615    最小值:0
    string:     所占字节数:24
    type:         ************size**************
  • 相关阅读:
    合格linux运维人员必会的30道shell编程实践题及讲解-07
    合格linux运维人员必会的30道shell编程实践题及讲解-06
    合格linux运维人员必会的30道shell编程实践题及讲解-05
    合格linux运维人员必会的30道shell编程实践题及讲解-04
    合格linux运维人员必会的30道shell编程实践题及讲解-03
    合格linux运维人员必会的30道shell编程实践题及讲解-02
    合格linux运维人员必会的30道shell编程实践题及讲解-01
    阿里云服务器环境部署
    centos7搭建docker私有库
    Hexo+Github--搭建个人博客(一)准备工作&&环境搭建
  • 原文地址:https://www.cnblogs.com/sea520/p/12690443.html
Copyright © 2020-2023  润新知