در علوم رایانه، متغیر ایستا یا استاتیک (به انگلیسی: static) متغیری است بین تمام نمونههای کلاسی که آن متغیر در آن تعریف شده، به اشتراک گذاشته میشود. به زبان دیگر، متغیر ایستا یک بار و برای تمام طول عمر برنامه تعریف میشود و مقدار دهی آن از هر کدام از نمونههای کلاسی که آن متغیر در آن تعریف شده، باعث میشود تمام نمونههای دیگر نیز به مقدار جدید دسترسی داشته باشند.
بسیاری از زبانهای برنامهنویسی از جمله سی و جاوا و زبانهای همخانواده به آنها، از پیشوند 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;
}
مشارکتکنندگان ویکیپدیا. «Static variable». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۲ ژوئیه ۲۰۱۵.