C 什么是最好的使用volatile?当我们在局部变量或形式变量中使用volatile时会发生什么?

C 什么是最好的使用volatile?当我们在局部变量或形式变量中使用volatile时会发生什么?,c,C,当我们在局部变量中使用volatile时会发生什么 比如说, #include <stdio.h> #include <stdlib.h> int get_data (volatile int data) { return (data * data * data); } int main() { int data = get_data(12); printf("%d

当我们在局部变量中使用volatile时会发生什么

比如说,

    #include <stdio.h>
    #include <stdlib.h>

    int get_data (volatile int data)
    {
        return (data * data * data);
    }

    int main()
    {
        int data = get_data(12);
        printf("%d",data);
        return 0;
    }
#包括
#包括
int get_数据(易失性int数据)
{
返回(数据*数据*数据);
}
int main()
{
int data=get_data(12);
printf(“%d”,数据);
返回0;
}

在这种情况下,除了可能执行较慢的程序外,不会有任何可见的更改。

当变量在其声明中被
volatile
限定时,则变量的值可以通过任何外部设备或硬件中断来更改。 在您的示例中,没有变化。当您限定变量
volatile
时,每当程序尝试访问该变量时,每次都会查看存储该变量的内存。不会对变量进行任何优化。因此程序可能运行得较慢

 What is best use volatile?