栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区里面的变量通常是局部变量、函数参数等,我来为大家科普一下关于栈和堆的概念以及优缺点?以下内容希望对你有帮助!

栈和堆的概念以及优缺点

栈和堆的概念以及优缺点

栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。

堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。优缺点:堆得优点就是可以动态分配内存大小,生存期也不必告诉编译器,因为它是在运行中动态分配内存的;缺点就是由于是在运行时动态分配内存的,所以读取速度较慢。

栈的优点就是读取速度快,而且数据可以共享;缺点就是存在于栈中的数据大小及周期必须是确定的,缺乏灵活性。