C 訪存(位址 指標 堆疊)

2021-09-30 20:37:25 字數 568 閱讀 3380

如果把記憶體模擬為一座城市,那麼位址就是城市裡的街道和門牌號。資料就像是居民,居住在房子裡,每座房子都有乙個位址。而房子都是為居民量身打造的,房子的面積單位不是平方公尺,而是字(byte,即8 bit)。在c++中,往往不僅要求你知道房子的位址,還要求你知道房子裡居民的種族(型別)。

c++中的指標是一種特殊的物件,專門用於儲存位址。指標的型別實際上是以指標所指向的位址及其之後所儲存的物件的型別。

malloc()是c中申請記憶體的寫法,返回值是乙個void指標;而new返回值是乙個物件指標,因此極力推薦使用new而非malloc()。

每個程式都會得到作業系統分配的一片記憶體,這一片記憶體又被程式自身分成兩個部分即堆和棧。

棧是程式生命週期的體現。舉個例子,棧是一棟大樓,每個居民按照先後順序從地表往上自己蓋一層樓住,且樓下的住戶不得在樓上有人時搬出去(不然的話大樓就塌了)。

而堆則是與生命週期無關的一片空間,只能用new(不建議使用c中的方法)來申請,並以delete來取消對堆空間的占用。在堆中的物件的生命週期與程式一致,因此如果乙個需要長期執行的程式不對堆空間進行妥善管理,會導致嚴重的記憶體洩漏,即該程式占用的整體記憶體很大,會影響計算機的執行。

指標是存位址的變數

指標是存位址的變數 指標就是位址 位址就是指標 取值 取位址 char ch char d 中的char是什麼?double d 3.1416 char ch char d cout 現有bai兩個基本點 1 double一般是du8位元組 zhi32位和dao64位作業系統 2 char是1個位元...

C 指標,位址

include int main cout p endl 011efa1c cout p 0 endl 011efa1c cout p 1 endl 011efa20 cout p 1 endl 011efa20 cout p 1 endl 2 cout p 0 endl 1 cout p endl...

C 指標與位址

指標是一種儲存變數位址的變數,存放在一組連續的儲存單元中 通常是2或4個,後者居多 因為c語言本身的feature就很少,加上指標又非常的高效,指標已然成了c最大的特點。與指標相關的操作符有兩個,分別為 解引用 和 取位址 解引用這個詞比較令人費解,比方存在指標p,p c p中便儲存了 c 的位址,...