c語言中什麼是堆疊,堆疊的具體應用,求高手幫我解釋下,最好能詳細點,謝謝

2021-05-02 11:22:18 字數 976 閱讀 7739

1樓:

也就是一個井嘍,然後丟石頭進去,要的話就從最上面的拿上來。如

abc要進棧,則: 元素 棧中的元素

1.a進棧。 cb a

2.可以a出棧也可以b進棧。 c ba

3.可以b出棧也可以c進棧。 無 cba

如果按照示例的話,3次後abc都進入棧了,則從上往下的排序分別是c b a,此時只可以取出c,不可以取出其他的,也就是說,棧就是:

可以往裡面丟東西,填平了或者無聊的時候就取出最上面的東西。

你可以理解**的肝臟。如果糖分多的話,多餘的就存在肝臟裡,如果少了,就從肝臟裡面取。但是你不把靠近血液的糖取出來,你是沒有辦法取更裡面的糖分的......

它的應用吧,應該是可以用來加密。如可執行檔案的出棧、入棧。不過一般我們電腦裡面的計算就用到了棧,只不過沒有察覺到。原創!

2樓:匿名使用者

堆和棧是兩種不同的資料結構。

棧是一種後進先出的資料結構,即先進棧的資料反而要後出來,後進棧的資料反而可以先出來。

堆是一種優先佇列,它滿足一定的性質(即堆的性質)。

而在作業系統記憶體方面的堆和棧,也是不同的。記憶體棧是用來存放區域性動態變數的。而記憶體堆是由程式設計師自己分配釋放的記憶體空間。

3樓:匿名使用者

額...按我理解的... 一般來說在32位作業系統,可供程式設計師使用虛擬記憶體總共大概8個g

堆一般是程式設計師分配釋放,如果不釋放,程式執行完自動釋放.. 用malloc申請的記憶體在堆中

棧..編譯器自定分配,函式應該就是在棧執行,函式裡的變數和區域性變數也應該是在棧中

我感覺棧也就2多g大吧...常量應該按地址位置應該在堆下面,我的理解是 棧內執行效率高,適合執行類似函式那樣反覆執行的**...

請問交換機的堆疊是怎麼回事,具體是怎麼堆疊的以及原理?謝謝

交換機堆疊,就是使用兩臺或多臺組合到一起,小時候看過 六神合體雷霆王 嗎,一樣的道理,堆疊後邏輯上還是一臺交換機。原理就是通過交換機的作業系統將裝置背板連在一起,個人感覺應該是主機板互聯,邏輯上就變成了塊版子。像思科的3750堆疊後交換機1的介面變為1 0 1,交換機2的介面就變為2 0 1,交換機...

組合語言裡面的堆疊是什麼東西啊,組合語言的堆疊段是什麼意思

1.堆疊本質上只是普通的記憶體地址 2.堆和棧本來是兩種資料結構,現常用 堆疊 連用回僅表示棧。3.棧的使答用方式是臨時存放資料,在某一段記憶體中,從記憶體地址最後開始存放,像疊盤子一樣,只能將最後放入的資料先取出來。4.棧在組合語言中經常使用,cpu暫存器中有sp 32位為esp 即stack p...

c語言中什麼是原型定義,C語言中函式的定義格式是什麼,函式原型宣告的語法格式?

我還直是不知道呢,我說說自己的理解吧,一個函式,可能在別外被引用或是在本檔案中但是要先引用了而後面才有函式定義,此時編譯器需要先行知道這個函式返回型別和引數類形,才可以正確的幫著做嚴格的資料型別和引數個數的檢查 如不提前申明就會當做是返回int 型,引數都當int型且不能檢查引數個數 這個函式在定義...