易失性和非易失性变量差异

时间:2019-10-09 07:18:54

标签: c volatile

同一变量的可变关键字和非易失关键字。

情况1:

volatile int a =5;
int main()
{    
    while(a<20)
    {
        // Do some operations...

        a++;
    }
}

情况2:

int a =5;
int main()
{    
    while(a<20)
    {
        // Do some operations...

        a++;
    }
}

在以上两个代码段中,根据我的理解代码,在两种情况下都可以正常工作。

1)情况1转换为机器语言时,它将具有更大的代码大小(因为它是一个volatile变量,并且不适用优化),并且执行周期将大于情况2。

我的理解正确吗?上述情况1和情况2有其他区别吗?

0 个答案:

没有答案