为什么存在动态内存分配
正常来说我们想要开辟一个内存空间往往是通过在栈上定义临时变量,如下:
int val = 20;//在栈空间上开辟四个字节
char arr[10] = {0};//在栈空间上开辟10个字节的连续空间
但是上述的开辟空间的方式有两个特点:
- 空间开辟大小是固定的。
- 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。
有时候我们所需要的空间大小在程序运行的时候才会知道,那数组的编译时开辟空间的方式就不能满足了。这时候就需要用到动态内存开辟了。
动态内存函数介绍
动态内存函数都包含在stdli