int num = 100;
int arr[10] = {0};
上面开辟空间的方式有两个特点:
- 开辟的空间大小是固定的,也就是不能修改的。
- 数组在声明的时候,必须知道数组长度,它所需要的内存在编译时就已经分配好了。
但是很多时候,我们对于空间的需求上面的两种情况是满足不了的,有的时候我们需要的内存大小要程序运行之后才能知道,或者说有时候数组大小空间不够了,那么数组编译时开辟的内存空间的方式就不可行了,这个时候就需要动态内存开辟了。
注意:动态开辟的内存是在堆上的,而我们使用的局部变量和函数的形参是在栈上开辟空间。