如何在 Arduino 中使用静态变量?


静态变量是一种特殊类型的变量;在“静态”情况下,它会分配内存。它的生命周期是整个程序的运行时间。它特定于一个函数,也就是说,只有定义它的函数才能访问它。但是,在函数调用结束后,它不会被销毁。它保留了连续函数调用之间的值。在首次调用函数时创建和初始化该函数。在下一个函数调用中,它不会被再次创建。它只是存在。

示例

看看下面的示例。

void setup() {
   Serial.begin(9600);
   Serial.println();
}
void loop() {
   staticFunctionDemo();
}
void staticFunctionDemo() {
   static int staticVariable = 0;
   int normalVariable = 0;
   staticVariable = staticVariable+1;
   normalVariable = normalVariable+1;
   Serial.print("The value of static variable is: ");Serial.println(staticVariable);
   Serial.print("The value of normal variable is: ");Serial.println(normalVariable);
}

输出

串口监视器输出如下 -

正如你所看到的,正常变量在每次函数调用时都会被创建和销毁,而静态变量则会在函数调用之间保留其值。

更新时间: 24-7-2021

3K+ 浏览量

启动你的 事业

完成该课程获取认证

开始学习
广告