堆内存是用来存放由new创建的对象和数组,即动态申请的内存都存放在堆内存,并且记得在最后delete掉开辟的堆空间
栈内存是用来存放在函数中定义的一些基本类型的变量和对象的引用变量
int arr[5]; 这个数组开辟在栈空间里
int *arr = new int[5]; 这个数组开辟在堆空间里
VS中不允许这样定义:(如果数据量太大,这样做的缺点是占用了大量的系统栈空间)
int a = 5;
int arr[a];
而要用new的方式申请空间:
int a = 5;
int *arr = new int[a];
.
.
.
delete[] arr;