请问单片机中keil C编写程序时,有没有虚拟变量?

来源:百度知道 编辑:UC知道 时间:2024/06/14 02:04:11
我遇到个奇怪的问题,我看到一个程序,它定义了一个虚拟变量,并没有赋值,然后,还有几个变量,刚开始也没有初始化,结果就能够正常默认为0,很奇怪。请问它们在初始化时,是不是默认为0啊?
具体代码函数如下:
void Timer_Virtual(void)
{
if(uiVirtualTimer != uiRealTimer)
{
uiVirtualTimer++;
uVTimer1msCount++;
Function_1ms();
if(uVTimer1msCount==4
{
uVTimer1msCount=0;
uVTimer10msCount++;
Function_10ms();
if(uVTimer10msCount==2
{
uVTimer10msCount=0;
uVTimer100msCount++;
Function_100ms();
if(uVTimer100msCount==10)
{
uVTimer100msCount=0;
uVTimer1sCount++;
Function_1s();
if (uVTimer1sCount==10)
{
uVTimer1sCount=0;
uVTimer10sCount++;
Function_10s();
}
}
}
}
}
}

关于变量初值为0的问题是因为KEILC在编译".C"文件时会自动加入一个将所有内部寄存器清零的头部分.所以定义的变量初值是默认为零的

什么虚拟变量啊
没有吧