ตัวแปรคงที่คือตัวแปรที่ประกาศโดยใช้คำหลักคงที่ พื้นที่สำหรับตัวแปรสแตติกถูกจัดสรรเพียงครั้งเดียวและใช้สำหรับทั้งโปรแกรม
เมื่อตัวแปรนี้ถูกประกาศแล้ว มันจะมีอยู่จนกว่าโปรแกรมจะทำงาน ดังนั้น อายุการใช้งานของตัวแปรสแตติกคืออายุการใช้งานของโปรแกรม
โปรแกรมที่แสดงตัวแปรสแตติกมีดังต่อไปนี้
ตัวอย่าง
#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; }