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