程序的四大分段

2021-10-07 03:39:11 字數 730 閱讀 6789

在乙個終端(ubuntu)上,在執行乙個程序時(如./a.out),此時他會開闢乙個空間。此空間被粗略的分為四個段。

如下圖所示:(注意:常量屬於**段)

將**編譯成二進位製流檔案,存放在**段。在乙個程序中,他的全域性變數,靜態變數以及常量全部存放在資料段。當乙個函式執行時,在棧段會為它分配乙個空間。main是乙個入口函式,在開始執行時,會為它在棧段分配乙個空間。在函式中,裡面的區域性變數會在函式中空間中,分配乙個空間。如圖所示。當呼叫指標時,它會指向相應段的空間。其實就是指標變數的值是相應空間的位址。當使用類似於malloc, new 等開闢空間的函式時,他開闢的是棧的空間。如上圖所示,乙個指標指向乙個用malloc開闢的空間。因為malloc是乙個函式,首先,因為malloc() 是乙個函式,所以會在棧段開闢乙個空間,用於malloc的執行。當malloc執行結束時,棧分配的空間會自動釋放。當使用malloc函式開闢乙個空間時,這個空間在堆中。因為是在為指標開闢的。所以指標指向這個空間。如上圖所示。當這空間被釋放時,此時這個指標沒有空間所指向,之間放在位址已經不存在。此時,他就被稱為野指標【野指標就是指標指向的位置是

不可知的(隨機的、不正確的、沒有明確限制的)指標變數在定義時如果未初始化,其值是隨機的,指標變數的值是別的變數的位址,意味著指標指向了乙個位址是不確定的變數,此時去解引用就是去訪問了乙個不確定的位址,所以結果是不可知的。】。所以他需要賦空null,將指標的內容清空。

知識淺薄所寫若有錯誤,希望多多指正。本文也許多不足的地方,也希望,各位大神可以來補充。

NoSQL的四大分類

nosql的四大分類 kv鍵值對資料庫 美團 redis tair 文件型資料庫 bson格式,即二進位制json mongodb mongodb是乙個基於分布式檔案儲存的資料庫,底層是c 編寫,主要用來處理大量的文件。mongodb是乙個介於關係型資料庫和非關係型資料庫之間的中間產品。mongod...

水貨手機的四大分類

第一類就是b行 水貨裡的行貨 這種行貨機是通過走私流入內地的。b行手機的質量和行貨兩者之間的質量一樣,也在電信有入網登記,但是沒有在官方客服登記資料,一般都是廠家內部流出來的小量貨源。跟正行對比,差別就是售後。b行手機的保修就是你在 購買的,就到該銷售點去維修。第二類是港行,顧名思義就是香港地區的行...

NoSQL資料庫的四大分類

nosql nosql not only sql 意即 不僅僅是 sql 是一項全新的資料庫革命性運動,早期就有人提出,發展至2009年趨勢越發高漲。nosql的擁護者們提倡運用非關係型的資料儲存,相對於鋪天蓋地的 關係型資料庫運用,這一概念無疑是一種全新的思維的注入。鍵值 key value 儲存...