這個來自于古老的C語言概念,凡是在函數中用基本數據類型(string除外)申請的局部變量,也就是函數退出則這些變量就消亡的變量,包括函數自己的參數定義,都用棧內存的方式構造內存,這樣做的目的是進入該函數、變量值進棧,函數退出自動退棧,這樣就自動完成了內存申請和回收,這些棧空間的變量只能被該函數自己引用,其他函數不能引用。
而C語言的全局變量、JAVA的對象,也就是說如C語言用malloc()函數,C++、JAVA等用new構造的對象,都在堆方式組織的內存中,這樣的目的是讓很多函數都能引用到這些存儲空間的值或者對象。存儲在堆空間的對象和數據,需要編程者按需要釋放,如C語言用free(),C++則要析構函數,Java就有自動回收機制。
隨手寫的,有錯勿噴。