在运行时分配内存的最简单的标准库函数叫作:malloc()
函数。使用malloc()
函数时,指定内存的字节数作为参数。该函数返回它分配的内存的第一个字节的地址。
动态内存分配的典型示例如下:
int *pNumber = (int*)malloc(100);
上面的代码请求了100
个字节的内存,并将该内存块的地址分配给pNumber
。
整个块可以在计算机内存保存25
个int
值,因为每个int
值需要4
个字节。
以下代码使用int
的大小作为参数:
int *pNumber = (int*)malloc(25*sizeof(int));
malloc()
的参数表示应该提供25
个int
类型的值。如果无法分配请求的内存,malloc()
将返回值为NULL
的指针。应该使用if
语句检查动态内存请求,以确保内存是否审核成功。
int *pNumber = (int*)malloc(25*sizeof(int));
if(!pNumber)
{
// Code to deal with memory allocation failure . . .
}