外部變量 是在 函數(shù) 外部定義的全局變量,它的 作用域 是從變量的定義處開(kāi)始,到本 程序文件 的結(jié)尾。在此 作用域 內(nèi),全局變量可為各個(gè) 函數(shù) 所引用。編譯時(shí)將 外部變量 分配在靜態(tài)存儲(chǔ)區(qū)。
為惠城等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及惠城網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、惠城網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
有時(shí)要用extern來(lái)聲明 外部變量 ,以擴(kuò)展外部變量的 作用域 。 也可用static聲明外部變量,使該變量不能被其他文件引用。
用extern聲明外部變量
extern可省略不寫(xiě)。
本文件里:在一個(gè)文件里,有不止一個(gè) 函數(shù) ,外部變量在第一個(gè)函數(shù)后面定義。若用extern在第一個(gè)函數(shù)前聲明該變量則該變量可以在第一個(gè)函數(shù)中使用。
多個(gè)文件中:在其他文件中若想要用該文件中已聲明的變量,則在文件頭部聲明該變量,即可在文件中使用。
用static聲明外部變量
static聲明后該外部變量就只能在本文件中使用。
在函數(shù)外部聲明的為全局變量.
帶static的是靜態(tài)全局變量, 作用域?yàn)楫?dāng)前文件.
不帶static的是全局變量, 作用域?yàn)檎麄€(gè)程序.
所有全局變量的生命周期都是整個(gè)程序運(yùn)行
兩者的區(qū)別只在于作用域和生存周期。main函數(shù)是一個(gè)進(jìn)程的入口,此外,和別的函數(shù)無(wú)區(qū)別。
1、main函數(shù)里定義的是局部變量,只是在main函數(shù)里有效。
2、如果程序里有多個(gè)函數(shù),定義的全局變量在這些函數(shù)里都可以使用,而在main中定義的只能在main中使用,其他函數(shù)不可以直接調(diào)用。
3、題目中的兩個(gè)程序的區(qū)別只在于程序一的a和s變量是全局變量,程序二的a和s變量是局部變量。
4、全局變量是程序的各個(gè)函數(shù)都可以調(diào)用的,而局部變量只在函數(shù)內(nèi)部有效。
擴(kuò)展資料:
全局變量是編程術(shù)語(yǔ)中的一種,源自于變量之分。
變量分為局部與全局,局部變量又可稱(chēng)之為內(nèi)部變量。由某對(duì)象或某個(gè)函數(shù)所創(chuàng)建的變量通常都是局部變量,只能被內(nèi)部引用,而無(wú)法被其它對(duì)象或函數(shù)引用。
全局變量既可以是某對(duì)象函數(shù)創(chuàng)建,也可以是在本程序任何地方創(chuàng)建。全局變量是可以被本程序所有對(duì)象或函數(shù)引用。
局部變量(Local
variables)指在程序中只在特定過(guò)程或函數(shù)中可以訪(fǎng)問(wèn)的變量。局部變量是相對(duì)于全局變量而言的。在C++、C#、Ruby這些面向?qū)ο笳Z(yǔ)言中,一般只使用局部變量。
面向?qū)ο缶幊淌乾F(xiàn)在普遍采用的是軟件開(kāi)發(fā)方法,因此無(wú)需考慮是局部變量還是全局變量,說(shuō)到變量,往往都是局部變量。
參考資料:百度百科-局部變量
參考資料:百度百科-全局變量