重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
如上所說,內存被分成 程序代碼區、堆區、棧區 還有個全局數據區
成都創新互聯長期為數千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為松北企業提供專業的成都網站設計、做網站,松北網站改版等技術服務。擁有10多年豐富建站經驗和眾多成功案例,為您定制開發。
1.程序代碼區:存放你的全部代碼
2.堆區:存放用new 申請的變量(如 int a = new int(5))
3.棧區;存放int = 5;之類的變量(必須放在函數中)
4.全局數據區:存放全局或靜態變量,即定義在函數外的,或加上static的變量
(如:static int a = 5;)
我感覺你還是不要只記概念,這些東西在你以后的學習過程中都會遇到的,比如在學數據結構時就會遇到堆區和棧區,到時候再去掌握也不遲。
不過簡單說說吧(因為我也不太懂):
代碼區:就是存放你的程序的編譯后的可執行代碼的地方了
數據區:存放你的程序靜態數據,如全局變量、常量等。
棧:在函數調用中,保存程序的當前運行狀態、函數的參數、返回結果等。
堆:在分配給一個程序的內存中,除了上面三部分,剩下的就是堆了,也就是程序的自由空間,局部變量(自動變量)等,還有New給指針用的空間,都在這里分配。
在內存空間的順序是代碼區,數據區,堆,棧
代碼區:只讀區域,程序運行過程中無法做任何修改的存儲區域。用于存放代碼和常量。
數據區:可讀可寫區域,程序運行過程中可做任意修改的存儲區域。用于存放變量。