記憶體空間 malloc函式

2021-10-01 23:47:51 字數 676 閱讀 4702

我好弱。我的知識還很匱乏。

2023年1月7日 18:37:26

記憶體分配之malloc()函式。是在程式執行的時候進行記憶體分配的。此函式接收乙個引數:是所需的記憶體的位元組數。malloc()函式分配記憶體,不會給我們乙個類似於變數名的東西讓我們去訪問malloc()函式為我們申請的記憶體空間,而是為我們返回乙個記憶體首位址指標給我們,所以我們可以通過指標的方式去訪問這個記憶體。

1.貌似(自己還在看書)malloc()函式是與指標一起使用的。要使用malloc函式就必須有指標變數。

//用malloc函式建立乙個陣列,用malloc函式在程式執行是申請一塊記憶體

//,用指標記錄這塊記憶體的位置。

eg: double * ptd;

ptd = (double *) malloc (30 * sizeof(double));

記憶體中的各個段:**段 ,資料段 ,.bss段

**段:存放的是程式的**部分。

資料段:也被稱為靜態區,資料區,靜態資料區,

.bss段:又叫zi(zero initial)段,所有未初始化的靜態變數的空間就開闢於此,這個段會自動將那些未初始化的靜態空間初始化為0.

關於malloc函式後free記憶體空間的疑問

1 關於malloc函式後free記憶體空間的疑問 問題 malloc是開出記憶體空間。現在我寫了這麼一句 char name name char malloc len sizeof char name指標是個char指標,指向乙個char資料,即只保留了乙個char資料的長度資訊.free的時候它...

malloc 到底如何申請記憶體空間?

malloc 到底從 得到了記憶體空間?答案是從堆裡面獲得空間。也就是說函式返回的指標是指向堆裡面的一塊記憶體。作業系統中有乙個記錄空閒記憶體位址的鍊錶。當作業系統收到程式的申請時,就會遍歷該鍊錶,然後就尋找第乙個空間大於所申請空間的堆結點,然後就將該結點從空閒結點鍊錶中刪除,並將該結點的空間分配給...

malloc最多能分配多大的記憶體空間?

malloc的全稱是memory allocation,中文叫動態記憶體分配,用於申請一塊連續的指定大小的記憶體塊區域以void 型別返回分配的記憶體區域位址,當無法知道記憶體具體位置的時候,想要繫結真正的記憶體空間,就需要用到動態的分配記憶體。void 型別表示未確定型別的指標。c,c 規定,vo...