zoukankan      html  css  js  c++  java
  • C/C++的基本数据类型

    数据类型决定数据的空间分配, 及能对其做什么操作.

    C语言中的四种基本数据类型: char,int,float,double.

    C与C++定义这些类型时都只是限定它们的最大最小值, 而不是它们的size(占几个字节). 这些最值存储在limits.hfloat.h中.
    不同编码方式表示相同数据占用字节数量可能不同.

    CPP中引入了bool类型

    C中没有bool, C++有. 由此又引入了两个关键字:true,false. 这两个关键字在cpp与java中一样. 但在python中分别是TrueFalse.
    数值类型可以转换为bool类型: 0为false, 其余为true.
    bool类型也可以转换成数据类型:true为1, false为0.

    #include<iostream>
    using namespace std;
    
    int main()
    {
        int a = 10, b = 0, c = -1;
        cout << (bool)a <<  (bool)b<<(bool)c<< endl;
    }
    

    限定符(Specifiers): short, long, signed, unsigned

    short,long加在int前, 可以修改int的limit. 但如何改具有平台差异性. 不过有一点要保证: short int, int, long int, 这三种数据类型, 后面的最小值不小于前者的最大值.
    C/Cpp的这种语言特性对其可移植造成了一定障碍. 不如Java, 所有平台一致. 也不如python, 所有的int都是默认是long int, big integer, 能表示所有的整数, 唯一的限制是内存空间. 很方便的一种特性, 特别是对科学计算, 数据处理来说.

    signedunsigned可以改变符号位的解释方式. 除了char默认为unsigned, 其余默认都是signed.

    Pointer 和 Reference

    不知道在不在基本数据类型的范畴之内. 不过这个也不重要.

  • 相关阅读:
    [学习笔记&教程] 信号, 集合, 多项式, 以及各种卷积性变换 (FFT,NTT,FWT,FMT)
    [学习笔记] CDQ分治&整体二分
    [日常] NOIp 2018 滚粗记
    [学习笔记] 模拟退火 (Simulated Annealing)
    [日常] NOIWC 2018爆零记
    [日常] PKUWC 2018爆零记
    [日常] 最近的一些破事w...
    [BZOJ 1877][SDOI2009]晨跑
    [COGS 2583]南极科考旅行
    [日常] NOIP 2017滚粗记
  • 原文地址:https://www.cnblogs.com/dengdan890730/p/6218916.html
Copyright © 2011-2022 走看看