學好c的記憶體分配, 了解如何自己掌控記憶體, 有助於理解oc裡面的記憶體管理.
系統記憶體:包括5個區域
1.棧區:
特點:系統分配以及**記憶體.
存放內容:函式體內置立的變數分配在棧區
main.m中
int a = 10;// int a = 10 中的a存在記憶體的棧區 10是存在於常量區, 相當於常量區有乙個10, copy到棧區(如圖)
2.堆區(重點):由程式設計師非配和**, 如果程式設計師未**, 那麼, 記憶體就會越用越少, 有可能導致記憶體不夠用, 程式崩潰. 當然, 如果夠用, 程式安然無恙, 當程式退出時, 堆記憶體由系統**.
3.常量區:用於存放常量的記憶體區域
4.靜態區(全域性區):(與棧區類似):
特點:系統分配以及**記憶體.
存放內容:函式體外建立的變數分配在全域性區.
5.**區:存放源**編譯結果的區域.
C語言基礎 動態記憶體分配
void malloc size t size malloc的引數是需要分配的 位元組 數 請求成功返回乙個指向被分配記憶體塊起始位置的指標 否則返回 null 指標 所以對每個從該函式返回的指標都需進行檢查 例項 分配乙個100個int16u型陣列 int16u lp tmp lp tmp mal...
C語言基礎(七) 動態記憶體
2013年12月24日13 26 57 malloc函式的簡單用法 malloc是memory 記憶體 allocate 分配 的縮寫 include include 或者stdlib.h include int main p 5 printf d n p free p 表示把p所指向的記憶體 動態...
C語言 動態記憶體
動態記憶體 動態的建立記憶體,申請記憶體空間為變數 存放於堆區,不能通過變數名或陣列名引用,只能通過指標引用,在windows中,堆中最大的連續記憶體塊為1.3g左右。標頭檔案 includemalloc 在空閒記憶體中分配連續記憶體,約等於2g,分配成功時返回乙個指向該記憶體塊的指標即第乙個位元組...