1.当数组被声明时,必须在编译时知道它的长度。动态内存分配允许程序为一个长度在运行时才知道的数组分配内存空间
2.malloc calloc realloc都是用于动态内存相关的函数:
malloc 参数是要分配的字节数,并返回指向该内存的指针
calloc 参数是需要分配的元素个数和每个元素的长度,返回指向该块内存的指针,并且在返回前把内存初始化为零
realloc 用于改变一块已经动态分配内存的大小,增加内存块大小有时可能需要把原来内存块上的所有数据复制到一个新的更大的内存块上
3.当一个动态分配的内存块不再使用时,调用free函数把它归还给可用内存池
4.如果分配失败,会返回一个NULL指针,所以在对动态分配的内存进行操作时,确保指针分配成功
5.free函数只能用来释放 malloc、colloc、 realloc分配的内存
6.内存泄露是指内存被动态分配后,当它不再被使用时未被释放