java - malloc

來源:趣味經驗館 1.45W

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java malloc是什麼,讓我們一起了解一下?

malloc是一個函數,這個函數主要用於動態分配內存。在我們運用過程中,數組雖然與可以用於開闢空間,但是相對於malloc這個函數,malloc的開闢的空間,可以在你用完內存後,迅速讓計算機清楚掉。

malloc函數的使用要求有哪些?

這個函數要實現的功能是在系統中分配一段連續的可用的內存,具體有如下要求:

1、malloc分配的內存大小至少為size參數所指定的字節數。

2、malloc的返回值是一個指針,指向一段可用內存的起始地址。

java malloc

3、多次調用malloc所分配的地址不能有重疊部分,除非某次malloc所分配的地址被釋放掉。

4、malloc應該儘快完成內存分配並返回。

5、實現malloc時應同時實現內存大小調整和內存釋放函數(即realloc和free)。

實戰操作:運用malloc開闢一個8*8的int類型的空間,並對其隨機賦值。

示例代碼如下:

int i = 0, k = 0, j = 0;    int** buffer = (int**)malloc(8 * sizeof(int*));//定義**buffer指向malloc,而malloc開闢了8個int類型空間;    for (i = 0; i < 8; i++)    {        buffer[i] = (int*)malloc(8 * sizeof(int));//buffer集合下的指針buffer,讓malloc開闢了8個int類型空間。ps:因為只有int類型,才能對buffer賦值        for (k = 0; k < 8; k++)        {            buffer[i][k] = rand() % 100 + 1;        //賦值        }    }

熱門標籤