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

匯編語言編程實例 局部變量和全局變量的區(qū)別是什么?

局部變量和全局變量的區(qū)別是什么?具體來說,全局變量和局部變量之間的區(qū)別如下:1。不同的作用域:全局變量的作用域是整個程序,而局部變量的作用域是當前函數(shù)或循環(huán)等。不同的內(nèi)存存儲方式:全局變量存儲在全局數(shù)

局部變量和全局變量的區(qū)別是什么?

具體來說,全局變量和局部變量之間的區(qū)別如下:

1。不同的作用域:全局變量的作用域是整個程序,而局部變量的作用域是當前函數(shù)或循環(huán)等。不同的內(nèi)存存儲方式:全局變量存儲在全局數(shù)據(jù)區(qū),局部變量存儲在堆棧區(qū)

3不同的壽命:全局變量的壽命與主程序相同。它們隨著程序的破壞而被摧毀。局部變量在函數(shù)或循環(huán)中,它們不隨函數(shù)或循環(huán)的退出而存在

4。不同的使用方式:全局變量聲明后可以在程序的所有部分使用,但局部變量只能在局部使用。函數(shù)中的局部變量將優(yōu)先于全局變量使用

在C語言中,函數(shù)中定義的變量稱為局部變量,局部變量的有效范圍在函數(shù)內(nèi)部。形式參數(shù)是局部變量。除了作用于函數(shù)的局部變量外,C語言還允許定義作用于復(fù)合語句的局部變量。它的有效使用僅限于復(fù)合語句,通常在小范圍內(nèi)用作臨時變量。雖然全局變量和局部變量保證了函數(shù)的獨立性,但有時在程序設(shè)計中必須考慮不同函數(shù)之間的數(shù)據(jù)交換和每個函數(shù)的一些統(tǒng)一設(shè)置。為了解決多個函數(shù)之間的變量共享問題,C語言允許定義全局變量。在函數(shù)外部定義的變量不屬于任何函數(shù),它就成為全局變量。全局變量的作用域是從定義的開始到程序所在文件的結(jié)尾。它適用于范圍內(nèi)的所有函數(shù)。注意:由于全局變量和局部變量的范圍不同,允許它們具有相同的名稱。當函數(shù)的局部變量與全局變量同名時,全局變量在函數(shù)中不起作用,但全局變量起作用。對于其他沒有相同名稱的函數(shù),全局變量仍然有效。同樣,當函數(shù)的局部變量與復(fù)合語句的局部變量同名時,應(yīng)以復(fù)合語句為準。全局變量有助于解決多個結(jié)果返回的問題,但全局變量更多地用于多個函數(shù)之間的全局數(shù)據(jù)表示。

全局變量和,局部變量的區(qū)別?

編譯時,編譯器將自動為靜態(tài)局部變量、常規(guī)全局變量和靜態(tài)總變量分配地址。從單片機上電開始,一直保持,不會被回收。真正的區(qū)別在于它們的范圍。靜態(tài)局部變量的作用域在定義它的函數(shù)中。因為編譯器分配地址給它們,并在編譯時對它們進行初始化,所以它只能初始化一次,而且順序似乎是每次程序執(zhí)行這個函數(shù)時,它都會執(zhí)行那個definition語句。其實不是!不!對!因為它被分配了一個地址,并且總是駐留在RAM中。在這種情況下,其他特征與普通局部變量相同。通用全局變量可以在本文檔中無限期地使用。此外,extern關(guān)鍵字還可以引用其他源文件。靜態(tài)全局變量是在通用全局變量的基礎(chǔ)上,取消外部關(guān)鍵字引用,即不管怎樣,它只能被這個文件的程序使用,其他文件不能使用。(模塊化保護代碼,封閉的外部接口)。

什么是局部變量和全局變量,該怎么用?

在C語言中,這取決于如何放置全局變量和局部變量。如果將全局變量和局部變量放在一個代碼文件中,則會發(fā)生沖突。所以不明顯,我將編寫一個C程序代碼,如下圖所示:

在這個C程序中,我在main函數(shù)外定義了一個全局變量para,并給出一個初始值1。在C程序的主函數(shù)中,我定義了一個變量para,它與主函數(shù)外的變量同名。

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

也就是說,當您在C程序的主函數(shù)中操作para變量時,實際上是在主函數(shù)中操作變量,而外部para變量的值仍然是1。在這個C程序中,main函數(shù)中的para變量隱藏了外部變量para。

因此,學(xué)生在學(xué)習(xí)C語言時,必須注意全局變量被同名局部變量覆蓋的問題,還要了解變量的范圍和生命周期。