卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

c語言外部變量和全局變量 C語言中,全局變量和外部變量有什么區(qū)別?

C語言中,全局變量和外部變量有什么區(qū)別?全局變量也稱為外部變量,它是在函數(shù)外部定義的變量。它不屬于哪一個(gè)函數(shù),它屬于一個(gè)源程序文件。其作用域是整個(gè)源程序。在函數(shù)中使用全局變量,一般應(yīng)作全局變量說明。只

C語言中,全局變量和外部變量有什么區(qū)別?

全局變量也稱為外部變量,它是在函數(shù)外部定義的變量。

它不屬于哪一個(gè)函數(shù),它屬于一個(gè)源程序文件。其作用域是整個(gè)源程序。在函數(shù)中使用全局變量,一般應(yīng)作全局變量說明。只有在函數(shù)內(nèi)經(jīng)過說明的全局變量才能使用。全局變量的說明符為extern。但在一個(gè)函數(shù)之前定義的全局變量,在該函數(shù)內(nèi)使用可不再加以說明。外部變量是在函數(shù)外部定義的全局變量,它的作用域是從變量的定義處開始,到本程序文件的結(jié)尾。在此作用域內(nèi),全局變量可為各個(gè)函數(shù)所引用。編譯時(shí)將外部變量分配在靜態(tài)存儲(chǔ)區(qū)。有時(shí)需要在其他文件中使用extern來聲明外部變量,以擴(kuò)展外部變量的作用域。也可用static聲明外部變量,使該變量不能被其他文件引用。有時(shí)候他們是一樣的,只有稍微一點(diǎn)的區(qū)別而已,不用太過于區(qū)分的。

C語言全局變量和局部變量會(huì)沖突嗎?為什么?

C語言中,看你怎么安放全局變量和局部變量了。如果你把全局變量和局部變量放在一個(gè)代碼文件內(nèi),那么就是沖突的。這么說不明顯,我寫個(gè)C程序代碼你就知道了,如下圖所示:



在這段C程序中,我在主函數(shù)main之外定義了一個(gè)全局變量para,并且給了一個(gè)初始值1。在C程序主函數(shù)main里面,我又定義了一個(gè)變量para,跟主函數(shù)之外的那個(gè)para是同名。

這里,C程序主函數(shù)外面的那個(gè)變量生命周期在整個(gè)代碼中有效,而主函數(shù)的這個(gè)變量只在主函數(shù)內(nèi)有效。

這也就是說,在C程序主函數(shù)里操作para變量,實(shí)際上操作的是主函數(shù)中的變量,外面的para變量值還是1。在這段C程序中,main函數(shù)中的para變量把外面的變量para給遮住了。

所以,同學(xué)們?cè)趯W(xué)習(xí)C語言時(shí),一定要注意這個(gè)全局變量被局部同名變量遮住的問題,同時(shí)也要了解變量的作用域和生命周期。