因為:
如果沒有static :
int x = 0;// 聲明,并初始化為0
int x; // 聲明
// 在此期間訪問會遇到隨機值(這么做應(yīng)該被認為是錯誤的!)
x = 0; // 初始化
如果加了static :
【static int x=0;和static int x;x=0;為什么不一樣呢?】static int x = 0; // 聲明并初始化(此時為初始化賦值,如果這條語句出現(xiàn)在函數(shù)中,即便被多次調(diào)用,也只會執(zhí)行一次 。)
static int x; // 聲明并使用默認初始化值
// 在此期間訪問會得到靜態(tài)變量的系統(tǒng)默認值(int型為0)
x = 0; // 賦值為0

注意事項
1、static全局變量和普通的全局變量
static全局變量在定義該變量的當(dāng)前源文件內(nèi)有效,在同一源程序的其它源文件中不能使用它 。而普通的全局變量在各個源文件中都是有效的(當(dāng)一個源程序由多個源文件組成時) 。
2、static局部變量和普通的局部變量
static局部變量存放在靜態(tài)存儲區(qū),其只在當(dāng)前函數(shù)中起作用,但是其生存周期是直到當(dāng)前程序結(jié)束為止,而局部變量存在于棧中 。
3、static函數(shù)和普通函數(shù)
static函數(shù)只在當(dāng)前源文件中起作用,在其他文件中不起作用 。普通函數(shù)則可在其他源文件中調(diào)用 。
猜你喜歡
- 周杰倫和五月天的關(guān)系
- 新聞傳播學(xué) 和新聞與傳播 碩士專業(yè)有什么區(qū)別
- 阿彌陀佛和釋迦牟尼佛有何不同
- 威士忌和紅茶怎么配
- 拼多多雙旦和年貨節(jié)活動規(guī)則
- 魔獸世界國服大腳插件的反和諧失效了,我開啟原汁原味魔獸,也安裝了花骨朵,但還是沒效果,求助!
- 佳能7D和70D區(qū)別在哪?家用哪款好?
- 個股的支撐位和壓力位怎么看
- 小說與散文,詩歌和戲劇的區(qū)別在哪里
- 老年和暮年的區(qū)別 老年和暮年有區(qū)別嗎
