C語言動態記憶體分配

2021-07-25 06:14:32 字數 1040 閱讀 1229

c語言分配記憶體大小的一些方法

#include 

#include

//建立乙個陣列,動態指定陣列大小

int main()

int addlen;

//printf("原來的不夠用了,輸入加長的長度");

scanf("%d",&addlen);

int *p2 = realloc(p, sizeof(int) *(len + addlen));

i = 0;

printf("--------------------------\n");

for (; i < len + addlen ; i++)

// free(p);

getchar();

}/**

***注意:記憶體增大以後,首位址沒有變哦!** /users/aniu/library/caches/clion12/cmake/generated/d4af655b/d4af655b/debug/testcpp

* 想要的長度 5

* 7, 0x53d00000

* 49, 0x53d00004

* 73, 0x53d00008

* 58, 0x53d0000c

* 30, 0x53d00010

* 原來的不夠用了,輸入加長的長度5

* --------------------------

* 72, 0x53e00000

* 144, 0x53e00004

* 78, 0x53e00008

* 123, 0x53e0000c

* 109, 0x53e00010

* 40, 0x53e00014

* 165, 0x53e00018

* 92, 0x53e0001c

* 42, 0x53e00020

* 187, 0x53e00024

* * process finished with exit code 0

*/

c語言動態記憶體分配 C 動態記憶體分配

動態記憶體分配 雖然通過陣列就可以對大量的資料和物件進行有效地管理,但是很多情況下,在程式執行之前,我們並不能確切地知道陣列中會有多少個元素。這種情況下,如果陣列宣告過大,就會造成浪費 宣告過小,就會影響處理。在c 中,動態記憶體分配技術可以保證程式在執行過程中按照需要申請適量記憶體,使用後釋放,從...

C語言動態記憶體分配

c語言動態記憶體分配 動態資料結構可以在執行時靈活新增 刪除或重排資料項。在執行時分配記憶體空間的過程稱為動態記憶體分配。記憶體分配函式如下 malloc 分配所需的位元組大小,並返回指向所分配空間的第乙個位元組的指標 calloc 為元素陣列分配空間,並初始化為零,然後返回指向該記憶體的指標 fr...

C語言 動態記憶體分配

c語言有儲存變數的區域稱之為棧 stack 除此之外 c語言還允許建立自己的動態記憶體區域 以存放一些臨時的資料 這區域稱之為 堆 heap 也就是存放執行時的資料 可以根據程式的需要 向系統申請所需大小的空間 由於未宣告部分定義他們為變數或者陣列因此只能通過指標去訪問 建立記憶體動態分配主要由4個...