c語言的內存回收

最近寫項目要用到大量的數組,但是考慮到會不會浪費很多內存?

網上解答如下

要看數組所使用的內存空間。

  1、如果是局部函數棧空間中的數組,有程序自動回收。copy

1

2

3

4

void f()

{

int a[2] = {1,2}; //局部棧空間上的數組zhidao,程序自動回收

}

  2、如果是動態內存分配 的數組,在c語言中使用free()將其釋放。回收有操作系統的堆管理器來進行操作。

1

2

3

4

5

void f()

{

int *p = (int *) malloc(2 * sizeof(int));

free(p); //釋放

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章