如何在 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+ 瀏覽量

啟動你的 事業

完成該課程獲取認證

開始學習
廣告