如何在 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); }
输出
串口监视器输出如下 -
正如你所看到的,正常变量在每次函数调用时都会被创建和销毁,而静态变量则会在函数调用之间保留其值。
广告