C語言中的區域性靜態變數是什麼?
區域性靜態變數是一種變數,它的生命週期不會隨著宣告它的函式呼叫而結束。它會持續到整個程式的生命週期結束。所有函式呼叫都共享區域性靜態變數的同一份副本。
這些變數用於統計函式被呼叫的次數。靜態變數的預設值為0。而普通的區域性變數的範圍限定在定義它的程式碼塊內,在程式碼塊外不可見。
位於程式碼塊之外的全域性變數在程式結束前一直可見。
示例
以下是區域性變數的C程式:
#include<stdio.h>
main ( ){
int a=40 ,b=30,sum; //local variables life is within the block
printf ("sum=%d" ,a+b);
}輸出
執行上述程式時,會產生以下輸出:
sum=70
示例
以下是全域性變數的C程式:
int c= 30; /* global area */
main ( ){
int a = 10; //local area
printf ("a=%d, c=%d", a,c);
fun ( );
}
fun ( ){
printf ("c=%d",c);
}
輸出
執行上述程式時,會產生以下輸出:
a =10, c = 30
示例
以下是區域性靜態變數的C程式:
#include <stdio.h>
void fun(){
static int x; //default value of static variable is 0
printf("%d ", a);
a = a + 1;
}
int main(){
fun(); //local static variable whose lifetime doesn’t stop with a function
call, where it is declared.
fun();
return 0;
}輸出
執行上述程式時,會產生以下輸出:
0 1
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP