亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++為何使用指針?堆和棧的區別

2020-02-24 14:37:02
字體:
來源:轉載
供稿:網友

  如今2018年已接近年尾,雖然沒有大理想抱負,但是卻有自己的小計劃。下面主要給大家講述C++++為何使用指針?堆和棧的區別,與君共勉,一起學習。

  數據在內存的存放有以下幾種形式

  1.棧區--由編譯器自動分配并且釋放,該區域一般存放函數的參數值,局部變量的值等,

  2.堆區--一般由程序員分配釋放,如果程序員不釋放,程序結束的時候才會被操作系統回收,

  3.寄存器區--用來保存棧頂指針和指令指針

  4.全局去--也是靜態區,全局變量和靜態變量都是存儲在一起的,初始化的全局變量和靜態變量都存儲在一塊,為初始化的全局變量和靜態變量在相鄰的另一個區域,程序結束后由系統釋放。

  5.文字常量區--常量字符串就是放在這里的,程序結束后由系統釋放,

  6.程序代碼區--存放函數的二進制代碼。

  函數參數和局部變量存放在棧中,函數運行結束或者返回系統就釋放了他們所占用的內存空間,但是全局變量不會被系統釋放掉。全局的只有在程序結束后才會被系統所釋放,而且由于全局變量被所有的類成員和函數所共享,很容易被修改,為了解決這一問題

  我們會使用堆

  堆棧的區別 1.申請方式的不同

  堆是程序員自己申請

  而棧則是有程序判斷局部變量或者函數 系統來自動分配

  2.系統的響應不同

  棧-只要棧的剩余空間大于所申請的空間,系統將為程序提供內存,否則將提示棧溢出 overflow

  堆- 系統收到程序中申請的控件后,會遍歷一個操作系統用來記錄內存控件地址得鏈表,當找到一個空間大于所申請控件的堆結點后就會將該節點從記錄內存空閑地址的鏈表中刪除,并將結點的內存分配給程序,然后在這塊區域的首地址處記錄分配的大小, 這樣我們在使用delete來釋放內存的時候,delete才能正確的識別并刪除該內存區域的所有變量,另外我們申請的內存空間與堆結點上的內存空間不一定相等,這時候系統就會自動將堆結點上的多出來的一部分內存空間回收到空閑鏈表中

  3、空間的大小不同

  棧-在windows狀態下,棧是一塊連續的內存的區域,它的大小是2M,也有的說1M,總之這個數值是一編譯的時候就確定的常數,是由系統預先根據棧頂的地址和棧的最大容量定義好的,加入你的數據申請的內存空間超過棧的空間,就會提示overflow,所以別指望棧能夠存儲比較大的數據。

  堆-堆是不連續的內存區域,各塊區域由鏈表將他們串起來,這些串聯起來的內存空間叫做堆,他的大小是由系統中虛擬的內存來定的,因此獲得的空間比較大,而且獲得空間的方式也比較靈活。

  4.執行效率的不同

  棧-棧由系統自動分配,因此速度比較快,但是程序員不能對其進行操作。

  堆-堆是程序員分配的內存, 一般速度比較慢,而且容易產生內存碎片,不過用起來很方便。

  5.執行函數的不同

  棧-在函數調用的時候,第一個進棧的是被調用函數下一行的內存地址,其次是函數的參數,假如參數多余一個,那么次序是從左往右,最后才是函數的局部變量。

  由于棧的先進后出原則,函數結束時正好相反,先是局部變量先出棧,然后是參數,次序是從左向右,這時所偶的變量都出棧,指針自然的第一個進棧的那行內存地址,也就是被調用函數的下一行內存地址,程序根據該地址跳轉到調用函數的下一行自動執行。

  由于棧的先進后出原則,所以他永遠不可能產生內存碎片

  堆--堆是一大堆不連續的內存區域,在系統中由鏈表將他們串聯起來,因此在使用的時候必須由程序員來安排,他的機制是很復雜的,有時候為了分配一塊合適的內存,程序員需要按照一定的算法在堆內存中搜索可用的足夠大的空間,如果沒有滿足條件的空間,那么就要向內存中發出申請一部分內存空間,這樣才能有機會分配足夠大的內存,然后將計算后的數值返回,顯然堆的運行效率比棧低很多,而且容易產生碎片,但是好處是堆可以存儲相當的大的數據,并且一些細節可以由程序員來安排。

  以上就是C++為何使用指針?堆和棧的區別,但是在應用中的取舍還是具體問題具體分析,更多關于C++的內容,可以多多關注下武林技術頻道,我們會不斷的更新。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
狠狠爱在线视频一区| 亚洲午夜激情免费视频| 欧美激情a∨在线视频播放| 在线观看日韩专区| 性视频1819p久久| 国产精品久久久久久久久久东京| 91精品久久久久久久久久| 国产精品一久久香蕉国产线看观看| 青青青国产精品一区二区| 亚洲精品mp4| 国产精品永久免费| 色综合久久中文字幕综合网小说| 日韩欧美成人区| 精品视频一区在线视频| 亚洲欧美精品一区二区| 久久夜色精品亚洲噜噜国产mv| 欧美人在线视频| 日韩美女写真福利在线观看| 色悠久久久久综合先锋影音下载| 精品美女永久免费视频| 久久视频国产精品免费视频在线| 亚洲第一在线视频| 日韩中文字幕在线视频| 久久香蕉国产线看观看av| 久久视频这里只有精品| 欧美日韩国产va另类| 国内精品模特av私拍在线观看| 国产精品入口免费视频一| 成人久久精品视频| 国产精品美女久久久久久免费| 一区三区二区视频| 国产精品偷伦免费视频观看的| 亚洲最大福利网站| 日韩亚洲精品视频| 国产国产精品人在线视| 亚洲色图25p| 日韩精品中文字| 午夜精品久久久99热福利| 国产日韩欧美电影在线观看| 亚洲自拍偷拍福利| 久久91亚洲精品中文字幕奶水| 日韩视频欧美视频| 色综合色综合久久综合频道88| 日韩一区视频在线| 一本大道久久加勒比香蕉| 日韩美女中文字幕| 成人久久精品视频| 欧美另类交人妖| 久久亚洲精品网站| y97精品国产97久久久久久| 成人做爰www免费看视频网站| 国产在线98福利播放视频| 亚洲天堂日韩电影| 精品国产成人在线| 国产女同一区二区| 日韩有码片在线观看| 538国产精品一区二区在线| 久久久久久久久久亚洲| 91久久嫩草影院一区二区| 中文字幕在线成人| 欧美另类第一页| 亚洲a区在线视频| 伦伦影院午夜日韩欧美限制| 久久成人免费视频| 亚洲一区第一页| 91网站免费看| 国产成人精品免费久久久久| 中文字幕亚洲精品| 午夜精品免费视频| 成人观看高清在线观看免费| 欧美性猛交99久久久久99按摩| 日韩欧美在线观看视频| 国产美女精品视频| 91久久精品久久国产性色也91| 久久91超碰青草是什么| 亚洲精品suv精品一区二区| 精品国内自产拍在线观看| 久久精品国产一区| 国产成人中文字幕| 成人亚洲欧美一区二区三区| 欧美日韩国产精品专区| 成人国产精品一区| 亚洲综合自拍一区| 色综合色综合网色综合| 国产精品扒开腿做爽爽爽男男| 在线国产精品视频| 欧美日韩亚洲精品一区二区三区| 久久久久久久999精品视频| 欧美日韩免费观看中文| 国产不卡在线观看| 中文字幕日韩欧美在线| 欧美肥老妇视频| 亚洲黄色免费三级| 综合网日日天干夜夜久久| 久久中国妇女中文字幕| 欧洲成人免费视频| 亚洲在线视频福利| 国产精品福利在线观看| 日韩av片免费在线观看| xxav国产精品美女主播| 国产精品久久久久久av福利| 色琪琪综合男人的天堂aⅴ视频| 中文字幕在线亚洲| 在线看国产精品| 亚洲天堂av网| 午夜精品一区二区三区在线视频| 一本大道香蕉久在线播放29| 欧美日韩国产一区二区| 久久精品国产2020观看福利| 欧美性开放视频| 精品呦交小u女在线| 日韩久久精品成人| 亚洲一区二区三区四区在线播放| 91精品久久久久久久久| 国产精品黄色影片导航在线观看| 97精品国产91久久久久久| 日韩中文字幕在线播放| 在线视频一区二区| 日本成人免费在线| 久久天天躁狠狠躁夜夜爽蜜月| 日韩av在线网页| 日韩中文字幕精品| 欧美精品在线免费观看| 一区二区三区天堂av| 亚洲人成网站在线播| 草民午夜欧美限制a级福利片| 亚洲福利在线观看| 国产精品福利在线观看网址| 95av在线视频| 国产日本欧美在线观看| 欧美电影在线观看完整版| 久久精品久久精品亚洲人| 国产一区在线播放| 国产在线拍偷自揄拍精品| 欧美精品激情视频| 亚洲国内高清视频| 国产成人涩涩涩视频在线观看| 欧美一区在线直播| 亚洲精品短视频| www.色综合| 久久精品在线视频| 亚洲精品自在久久| 国产精品女人久久久久久| 91香蕉亚洲精品| 亚洲成成品网站| 久久久久久久一| 久久久久久久国产精品视频| 国产精品视频永久免费播放| 国产精品美女久久| 亚洲美女www午夜| 亚洲国产91精品在线观看| 亚洲美女中文字幕| 欧美洲成人男女午夜视频| 久久香蕉频线观| 精品国产一区二区三区久久久| 欧美一区二区三区免费视| 欧美激情精品久久久久久久变态| 亚洲成人av资源网| 国产丝袜高跟一区| 欧美一区二区影院| 国产v综合ⅴ日韩v欧美大片| 欧美日韩国产成人| 欧洲日韩成人av| 激情久久av一区av二区av三区|