zoukankan      html  css  js  c++  java
  • C语言基础(8)-const,volatile,register关键字

    1 const

    const是定义一个常量

    2 volatile

    代表定义一个变量,这个变量值可能在CPU指令之外被改变

    volatile int a;//定义了一个volatile类型的int变量

    通过volatile定义的变量,编译器不会自作聪明的去优化这个变量相关的代码

    int a = 10;

    volatile a = a+3; // 不允许编译器去优化这行代码

    a = a+2;

    a = a+6;

    printf("a=%d ",a);

    若不加volatile,编译器可能会将其优化为a = a+11。

    3 register

    register int a;//定义了一个变量,是寄存器变量。把一个变量放入CPU的寄存器可以提升程序的运行效率。

    regist建议型的指令,而不是命令型的指令,如果CPU有空闲寄存器,那么register就生效,如果没有空闲寄存器,那么register无效。

  • 相关阅读:
    F
    D
    J
    M
    H
    L
    Android线程之间的通讯
    Java4Android基础学习之异常
    Java4Android基础学习之接口
    Java4Android基础学习之包与访问权限
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/6235828.html
Copyright © 2011-2022 走看看