C/C++的数据类型sizeof长度以及基本类型取值范围

C/C++的数据类型sizeof长度以及基本类型取值范围

运行环境:

Linux asrock2 4.15.0-142-generic #146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609

#include<iostream>
#include<climits>
#include<float.h>

using namespace std;

int main(int argc, char **argv) {
        cout << "sizeof char:" << sizeof(char)<<endl;
        cout << "sizeof int:" << sizeof(int)<<endl;
        cout << "sizeof long:" << sizeof(long)<<endl;
        cout << "sizeof long long:" << sizeof(long long)<<endl;
        cout << "sizeof long int:" << sizeof(long int)<<endl;
        cout << "sizeof float:" << sizeof(float)<<endl;
        cout << "sizeof double:" << sizeof(double)<<endl;
        cout << "sizeof short:" << sizeof(short)<<endl;

        cout << "sizeof char p:" << sizeof(char*)<<endl;
        cout << "sizeof int p:" << sizeof(int*)<<endl;
        cout << "sizeof long p:" << sizeof(long*)<<endl;
        cout << "sizeof long long p:" << sizeof(long long*)<<endl;
        cout << "sizeof long int p:" << sizeof(long int*)<<endl;
        cout << "sizeof float p:" << sizeof(float*)<<endl;
        cout << "sizeof double p:" << sizeof(double*)<<endl;
        cout << "sizeof short p:" << sizeof(short*)<<endl;

        cout << "max char:" << CHAR_MAX << endl;
        cout << "max unsigned int:" << UCHAR_MAX << endl;
        cout << "max int:" << INT_MAX << endl;
        cout << "max unsigned int:" << UINT_MAX << endl;
        cout << "max long:" << LONG_MAX << endl;
        cout << "max unsigned long:" << ULONG_MAX << endl;
        cout << "max short:" << SHRT_MAX << endl;
        cout << "max unsigned short:" << USHRT_MAX << endl;
        cout << "max float:" << FLT_MAX << endl;
        cout << "max double:" << DBL_MAX << endl;

        cout << "min char:" << CHAR_MIN<< endl;
        cout << "min unsigned int:" << 0 << endl;
        cout << "min int:" << INT_MIN << endl;
        cout << "min unsigned int:" << 0 << endl;
        cout << "min long:" << LONG_MIN << endl;
        cout << "min unsigned long:" << 0 << endl;
        cout << "min short:" << SHRT_MIN << endl;
        cout << "min unsigned short:" << 0 << endl;
        cout << "min float:" << FLT_MIN << endl;
        cout << "min double:" << DBL_MIN << endl;
        return 0;
}

【结论】

基本类型:

sizeof char:1
sizeof int:4
sizeof long:8
sizeof long long:8
sizeof long int:8
sizeof float:4
sizeof double:8
sizeof short:2

指针类型:

sizeof char p:8
sizeof int p:8
sizeof long p:8
sizeof long long p:8
sizeof long int p:8
sizeof float p:8
sizeof double p:8
sizeof short p:8

最大值:

max char:127
max unsigned int:255
max int:2147483647
max unsigned int:4294967295
max long:9223372036854775807
max unsigned long:18446744073709551615
max short:32767
max unsigned short:65535
max float:3.40282e+38
max double:1.79769e+308

最小值:

min char:-128
min unsigned int:0
min int:-2147483648
min unsigned int:0
min long:-9223372036854775808
min unsigned long:0
min short:-32768
min unsigned short:0
min float:1.17549e-38
min double:2.22507e-308

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值