下面是我的代碼:編譯器將如何識別要讀取或更新哪個靜態變量?
#include <stdio.h>
static int a; // this static variable scope is through out the file
int main()
{
static int a; // this static variable scope is only in main()
}
現在,在這個程序編譯器會同時存儲變量數據段(BSS段要準確),所以如果兩個變量去同一個網段,編譯器將如何確定哪一個當用戶想要改變或閱讀其中任何一個時訪問。例如,如果用戶想要更改main()內部的變量a的值,編譯器將如何識別數據段內存中要更改哪個'a'。
請記住,靜態意味着在這裏的每種情況下不同的東西。 – teppic 2015-04-04 16:05:38