首頁 >常見問題 >全域變數和局部變數的差別是什麼

全域變數和局部變數的差別是什麼

青灯夜游
青灯夜游原創
2019-06-05 14:51:1528109瀏覽

全域變數和局部變數的差別是什麼

什麼是局部變數?

局部變數(Local Variable)定義在函數體內部的變數,作用域只限於函數體內部。離開函數體就會無效。再呼叫就是出錯。

局部變數又可稱之為內部變數。由某個物件或某個函數所建立的變數通常都是局部變量,只能被內部引用,而無法被其它物件或函數引用。

什麼是全域變數?

全域變數(Global Variable)定義在所有的函數外部定義的變量,它的作用域是整個程序,也就是所有的源文件,包括.c和.h文件。

全域變數既可以是某物件函數創建,也可以是在本程式任何地方創建。全域變數是可以被本程式所有物件或函數引用。

全域變數和局部變數的差異

1、有效範圍不一樣

局部變數只在本函數範圍有效,在此函數以外是不能使用這些變數;

全域變數的有效範圍是從定義變數的位置開始到本原始檔結束。

2、記憶體空間不同

局部變數是程式運行到該函數時給該變數分配記憶體空間,函數結束則釋放該記憶體空間;

全域變數是程式運行時事先分配記憶體空間,當程式結束時釋放記憶體。

3、使用區間不同

全域變數:作用於整個程式檔案;

局部變數:作用於所屬語句區塊或函數中。

以上是全域變數和局部變數的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn