局部變量也稱內(nèi)部變量
局部變量,也稱內(nèi)部變量,是指在一個(gè)函數(shù)內(nèi)部或復(fù)合語句內(nèi)部定義的變量[1]。局部變量的作用域是定義該變量的函數(shù)或定義該變量的復(fù)合語句。局部變量的生存期是從函數(shù)被調(diào)用的時(shí)刻算起到函數(shù)返回調(diào)用處的時(shí)刻結(jié)束。
全局變量
全局變量也稱外部變量,它是在函數(shù)外部定義的變量。它不屬于哪一個(gè)函數(shù),而是屬于一個(gè)源程序文件:其作用域是整個(gè)源程序[3]。
幾乎程序中的所有函數(shù)都能使用全局變量,客觀上全局變量就起到了在函數(shù)間傳遞數(shù)據(jù)的作用,甚至可以減少形參和實(shí)參的數(shù)量。當(dāng)然在享用它的好處時(shí),也要慎重,避免全局變量過多帶來的降低函數(shù)通用性及存儲(chǔ)空間的浪費(fèi)。
對(duì)于全局變量還有以下幾點(diǎn)說明:
1、全局變量從程序運(yùn)行起即占據(jù)內(nèi)存,在程序整個(gè)運(yùn)行過程中可隨時(shí)訪問,程序退出時(shí)釋放內(nèi)存。與之對(duì)應(yīng)的局部變量在進(jìn)入語句塊時(shí)獲得內(nèi)存,僅能由語句塊內(nèi)的語句訪問,退出語句塊時(shí)釋放內(nèi)存,不再有效。
2、局部變量定義后不會(huì)自動(dòng)初始化,除非程序員指定初值。全局變量在程序員不指定初值的情況下自動(dòng)初始化為零。
3、在同一源文件中,允許全局變量和局部變量同名。在局部變量的作用域內(nèi),全局變量不起作用。
關(guān)鍵詞: 局部變量 也稱內(nèi)部變量 全局變量