美文网首页
define、const和volatile的区别

define、const和volatile的区别

作者: 小白PK大牛 | 来源:发表于2020-03-24 10:17 被阅读0次

    #define

    定义的指定,程序在预处理阶段将用#define所定义的内容只是进行了替换。因此程序运行时,常量表中并没有用#define所定义的宏,系统并不为它分配内存,并且在编译时不会检查数据类型,出错的概率要大一些。
    注意:宏只是简单的替换

    #define N 2 + 3
    int a = N / 2;
    //a的值就是:a = 2 + 3 / 2 = 3.5;
    

    const

    定义的常量,在程序运行时是存放在常量表中,系统会为它分配内存,并且在编译时会进行类型检查。

    volatile

    优化器在用到这个变量时必须每次都要小心地重新读取这个变量值,而不是使用保存在寄存器里的备份

    相关文章

      网友评论

          本文标题:define、const和volatile的区别

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