动态内存分配的作用:有时候数组的长度在程序运行时才知道,也就是需要用户输入,它所需的内存取决于用户输入,而事先写程序时并不知道数组长度。
1. malloc和free函数
C函数库提供了malloc和free函数以实现动态内存分配。它们的函数原型如下:
void *malloc(size_t size);
void free(*pointer);
可见malloc函数的返回值是一个指针,这个指针就是指向了所分配的内存的首地址,其参数为需要分配的内存字节数。free函数的参数是一个指针,这个就是malloc所返回的指针。
这里需要特别注意的是如果操作系统无法向malloc提供更多的内存,malloc就返回一个NULL指针。因此,