十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
全局變量是在本文件中所有函數(shù)都可以使用的變量,保存在靜態(tài)存儲(chǔ)區(qū),如果要在別的文件中使用這個(gè)變量需要加上extern來聲明,這個(gè)變量是在別的文件中定義的全局變量,局部變量不能在別的文件中用extern聲明
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)鼓樓,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
1、記住一條就夠了:在函數(shù)之外定義的變量就是全局變量。用static修飾的變量可以是全局的,也可以是局部的,所以說“用static修飾的變量是全局變量”是錯(cuò)誤的。用static修飾的變量的生命周期與全局變量一樣,但可見性仍分全局和局部。 2、全局變量在整個(gè)c文件中都能使用,而局部變量在其作用域內(nèi)才能使用,舉個(gè)例子: int f = 7;// 這個(gè)是全局變量int myadd(int a, int b){int c = a + b;// c是局部變量,只能在myadd中使用return c;}int main(void){printf("%d\n", c);// 因?yàn)閏是myadd中定義的局部變量,這里會(huì)報(bào)錯(cuò)。printf("%d\n", f);// f是全局變量,這句是正確的。}
在所有函數(shù)和結(jié)構(gòu)體外定義的變量及函數(shù)都是全局的
但加上 static 后就成了文件內(nèi)全局