当我们在局部变量中使用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;
}
答案 0 :(得分:2)
在这种情况下,除了可能执行得更慢的程序之外,没有可见的变化。
答案 1 :(得分:0)
当变量在其声明中由volatile
限定时,变量的值可以由任何外部设备或硬件中断更改。
在您的示例中,没有任何更改。当你对变量volatile
进行限定时,每当程序试图访问变量时,每次它都会查看存储变量的内存。不会对变量进行任何优化。所以程序可能会运行得更慢。
What is best use volatile?