如何在 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); }
輸出
序列埠監視器輸出如下 -
正如你所看到的,正常變數在每次函式呼叫時都會被建立和銷燬,而靜態變數則會在函式呼叫之間保留其值。
廣告