將static限定符用於作用域為整個檔案的變數時,該變數的鏈結性是內部的即只能在所屬的檔案中使用它。為了區分具有外部鏈結性的外部變數和用static限定的內部鏈結性的變數,以下程式做了示例:
#include
using
namespace
std;
double warming=0.1;//定義外部變數
int i=1;
static
int j=2;
void remote();
int main()
#include
using
namespace
std;
extern
double warming;//引用定義的外部變數warming;
static
int i=3;//內部鏈結性的i
int j=4;//外部變數ch
void remote()
輸出結果:
自動變數 靜態變數與鏈結性 儲存持續性的關係
鏈結性分為外部 內部 無鏈結性 無連線性 不能共享,只能在區域性 塊使用1 自動儲存持續性 在函式中定義的變數儲存持續性為自動,在程式 開始呼叫其所屬函式開始被建立,呼叫完畢被銷毀,在c 中有2種變數儲存持續性為自動。2 靜態儲存持續性 在函式定義外定義的變數和使用用關鍵字static定義的 變數儲...
靜態持續變數
c 為靜態儲存持續性變數提供了3種鏈結性 外部鏈結性 可在其他檔案中訪問 內部鏈結性 只能在當前檔案中訪問 無鏈結性 別有用心能在當前函式或 中訪問 如果沒有顯示的初始化靜態變數會把它設定為0 要建立鏈結性為外部的靜態持續變數,必須在 塊外面宣告它 要建立鏈結性為內部的 靜態持續變數,必須在 塊外面...
靜態持續變數
c 為靜態儲存持續性提供了3種鏈結性 外部鏈結 可在其他檔案中訪問 內部鏈結 只能在當前檔案中訪問 和無鏈結 只能在當前函式或 塊中訪問 編譯器將分配固定的記憶體塊來儲存所有的靜態變數,這些靜態變數在整個程式執行期間一直存在。如果沒有顯式的初始化靜態變數,編譯器將把它設定為0,在預設情況下,靜態陣列...