美文网首页C,让你又爱又恨
2.C语言中的关键字

2.C语言中的关键字

作者: 傻子online | 来源:发表于2020-09-03 21:28 被阅读0次

    sizeof:编译器让我们来看内存空间容量;

    int,double,float等等一些关键字可以看成是让我们来限制内存大小

    每个数据类型所代表的内存大小都不同(由编译器决定)

    (这里应该cpu,当时画错了,兄弟姐妹们,见谅!)

    硬件芯片操作最小单位为:bit(位)  1/0  1代表高电平,0代表低电平

    软件操作中最小单位为byte(字节):8bit==1B(若是用bit做单位,软件开发

    及其繁琐) 一般用char

    char是硬件能在软件中体现出的最小单位;

    char场景:硬件数据处理的最小单位:

    例子:char buf[x]    int buf

              假设有123这个数据,如果用int接受,所需内存为4B,则会造成浪费,

              char只有1B;

    8bit最多能代表256个数字(0与1的排列组合,2的8次方);char最多就是1B,也就是8bit,若char a=300,则已经造成溢出了。

    这又涉及到编译器最优处理大小:系统一个周期,所能接受的最大处理单位;例如一个系统一个周期能够处理32bit的数据,也就是32位系统,就是 4B,若是能够把这32位都跑满,性能最高,低于32都不行,同时int定义:

        32bit=4B=int;(32位系统)或    16bit=2B=int;(16位系统)

    所以int在各种处理器中的大小都是不同的。如果用于数据的处理,int比char好,int容量大,还能达到最优处理大小,在汇编语言中int 比char的效率高。

    char更多用于硬件处理,因为后期你需要面临各种引脚的高低电平设置,而这恰恰是嵌入式开始入坑的基础。

    再说到前面的,若这个处理器是2B的,2B=16bit,所能代表的数最大为65535。但是我想保存int a=66535,怎么办?

    我们可以在66535加一个L,就是int a=66535L(L大小写无所谓)相当于一个long字符,需要用到进位标志。

    链接:http://note.youdao.com/noteshare?id=f898d5ee72a5b3d9c4dd34142fd8d6d9&sub=7C6F89569F2144A0B3E2B784BE36ADAD

    相关文章

      网友评论

        本文标题:2.C语言中的关键字

        本文链接:https://www.haomeiwen.com/subject/kuoosktx.html