当前位置:科普知识站>IT科技>

java|malloc

IT科技 阅读(1.53W)

<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;        //赋值        }    }