特别提醒:栈区的空间大小是有限制的,window上一般是1M-2M。
如果是堆的话,64位window系统的限制是2G。
一、为什么要使用动态内存分配
当我们要存储一组数据,然后又不知道数据有多大,如果使用数据的话,我们都知道定义数据,我们要知道数组的大小,还有数组的类型,当我们要保存一组数据,我们要定义多大的数组呢,如果定义数组很大的话,这样会造成资源浪费,如果定义小的话,又不够使用,然而动态内存可以帮我们实现这个问题,按需分配,造成不良费。
我们的动态内存是保存在程序的堆区上,堆区的大小在2G左右。
动态内存声明和释放
C++ 中动态内存使用New 关键字类声明,使用Delete关键字释放。
C语言中使用:
例子:
二、动态内存分配作用
1.按照需要分配,根据需要内存分配,造成不浪费。当程序用完之后一定要记得及时释放,不然可能会照成内存泄漏。
C++内存分配和释放。
C语言内存分配和释放
2.可以使用函数内部声明的变量。
3.栈区的空间大小一般是1M-2M,堆区限制是2G,如果需要使用大内存,声明堆区。