متغیر ایستا

در علوم رایانه، متغیر ایستا یا استاتیک  متغیری است بین تمام نمونه‌های کلاسی که آن متغیر در آن تعریف شده، به اشتراک گذاشته می‌شود. به زبان دیگر، متغیر ایستا یک بار و برای تمام طول عمر برنامه تعریف می‌شود و مقدار دهی آن از هر کدام از نمونه‌های کلاسی که آن متغیر در آن تعریف شده، باعث می‌شود تمام نمونه‌های دیگر نیز به مقدار جدید دسترسی داشته باشند.

بسیاری از زبان‌های برنامه‌نویسی از جمله سی و جاوا و زبان‌های هم‌خانواده به آن‌ها، از پیشوند static برای تعریف متغیرهای ایستا استفاده می‌کنند.

مثال 
مثال زیر نحوهٔ تعریف و به کار گیری متغیرهای ایستا را در زبان C نشان می‌دهد:

#include <stdio.h>

void func() {
	static int x = 0; 
	/* x is initialized only once across four calls of func() and
	  the variable will get incremented four 
	  times after these calls. The final value of x will be 4. */
	x++;
	printf("%d\n", x); // outputs the value of x
}

int main() { //int argc, char *argv[] inside the main is optional in the particular program
	func(); // prints 1
	func(); // prints 2
	func(); // prints 3
	func(); // prints 4
	return 0;
}

منابع 

متغیر (برنامه‌نویسی رایانه)
مدیریت حافظه