ตัวแปรคงที่คือตัวแปรที่ประกาศโดยใช้คำหลักคงที่ พื้นที่สำหรับตัวแปรสแตติกถูกจัดสรรเพียงครั้งเดียวและใช้สำหรับทั้งโปรแกรม
เมื่อตัวแปรนี้ถูกประกาศแล้ว มันจะมีอยู่จนกว่าโปรแกรมจะทำงาน ดังนั้น อายุการใช้งานของตัวแปรสแตติกคืออายุการใช้งานของโปรแกรม
โปรแกรมที่แสดงตัวแปรสแตติกมีดังต่อไปนี้
ตัวอย่าง
#include <iostream>
using namespace std;
void func() {
static int num = 1;
cout <<"Value of num: "<< num <<"\n";
num++;
}
int main() {
func();
func();
func();
return 0;
} ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นมีดังนี้
Value of num: 1 Value of num: 2 Value of num: 3
ตอนนี้ เรามาทำความเข้าใจโปรแกรมข้างต้นกัน
ในฟังก์ชัน func() num เป็นตัวแปรสแตติกที่เริ่มต้นเพียงครั้งเดียว จากนั้นค่าของ num จะปรากฏขึ้นและ num จะเพิ่มขึ้นทีละหนึ่ง ข้อมูลโค้ดสำหรับสิ่งนี้จะได้รับดังนี้ −
void func() {
static int num = 1;
cout <<"Value of num: "<< num <<"\n";
num++;
} ในฟังก์ชัน main() ฟังก์ชัน func() จะถูกเรียก 3 ครั้ง ค่า num ถูกจัดสรรเพียงครั้งเดียวและไม่ใช่ทุกครั้งที่เรียกใช้ฟังก์ชัน ข้อมูลโค้ดสำหรับสิ่งนี้มีดังต่อไปนี้
int main() {
func();
func();
func();
return 0;
}