动态内存分配是指在程序运行时动态地分配或者回收内存空间的方法,其好处是能有效地使用内存,而且同一段内存可以有不同的用途,使用时申请,用完就释放。包括三个方面的内容:动态内存分配、动态内存调整和动态内存释放。使用动态内存分配函数需要包含头文件“stdlib. h”、“malloc.h”或者“alloc. h”。
一 .动态内存分配函数malloc()和calloc()。申请动态内存一般使用malloc()或calloc()函数,这两个函数的格式及异同如下
函数名 | malloc | calloc |
声明 | void * malloc(unsigned size) | void * calloc( unsigned n,unsigned size) |
功能 | 申请size个地址连续的内存单元 | 申请n*size个地址连续的内存单元 |
说明 | 成功则返回指向内存块的指针,失败则返回 NULL | 成功则返回指向内存块的指针,失败则返回NULL |
区别 |