易百教程

malloc()动态内存分配

在运行时分配内存的最简单的标准库函数叫作:malloc()函数。使用malloc()函数时,指定内存的字节数作为参数。该函数返回它分配的内存的第一个字节的地址。
动态内存分配的典型示例如下:

int *pNumber = (int*)malloc(100);

上面的代码请求了100个字节的内存,并将该内存块的地址分配给pNumber
整个块可以在计算机内存保存25int值,因为每个int值需要4个字节。

以下代码使用int的大小作为参数:

int *pNumber = (int*)malloc(25*sizeof(int));

malloc()的参数表示应该提供25int类型的值。如果无法分配请求的内存,malloc()将返回值为NULL的指针。应该使用if语句检查动态内存请求,以确保内存是否审核成功。

int *pNumber = (int*)malloc(25*sizeof(int));
if(!pNumber)
{
  // Code to deal with memory allocation failure . . .
}