zoukankan      html  css  js  c++  java
  • 2_C语言中的数据类型 (七)类型限定

    1.1       类型限定

    1.1.1          const

    const是代表一个不能改变值的常量

    1.1.2          volatile

    代表变量是一个可能被CPU指令之外的地方改变的,编译器就不会针对这个变量去优化目标代码。

    1.1.3          register

    变量在CPU寄存器里面,而不是在内存里面。但regist是建议型的指令,而不是命令型的指令

    #include <stdio.h>
    
    int main01()
    {
        volatile int i = 100;//告诉编译器,不要自作聪明的给我针对这个变量优化代码
        i = i + 5;
        //外部设备改了i的值,
        i = i + 10;
        i = i + 30;
        //i = i + 45;
    
        printf("%d
    ", i);
    
        return 0;
    }
    
    int main()
    {
        register int i;//变量i不是在内存里面,变量i就是在CPU的寄存器里面的
        i = 100;
        i = i + 50;
        i = i + 20;
    
        /*
    
        __asm
        {
            mov i, 100
            mov eax, i
            add eax, 50
            mov i, eax
            mov eax, i
            add eax, 20
            mov i, eax
        }
    
        __asm
        {
            mov eax, 100
            add eax, 50
            add eax, 20
        }
    
        */
    
        printf("%d
    ", i);
    }

     资料来源:传智播客 仅供学习研究

  • 相关阅读:
    LeetCode: 389 Find the Difference(easy)
    LeetCode: 669 Trim a Binary Search Tree(easy)
    C++: 内联函数
    C++: STL迭代器及迭代器失效问题
    LeetCode: 371 Sum of Two Integers(easy)
    etcdctl命令
    Etcd介绍
    docker基础镜像打包
    docker常见问题总结
    更改容器内时区
  • 原文地址:https://www.cnblogs.com/wuchuanying/p/6298387.html
Copyright © 2011-2022 走看看