局部变量内存分配
终极管理员 知识笔记 197阅读
内存里面的变量是什么?
答:里面的变量通常是局部变量、函数参数等。 2.堆, 就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。 如果程序员没有释放掉,那么在程序结束后, 操作系统 会自动回收。
动态申请的内存空间是怎么分配的?
答:动态申请的内存空间是在运行期分配的,一旦申请成功,将分配在堆中,因此,大小也是取决于系统可用内存和虚存的多少。 案例5:把案例3代码用另一种方法改一下,如表4.7所示。 案例5的内存空间在堆中。 还有一点不同于案例4:案例4的内存空间是在编译器分配的,而案例5的内存空间是在运行期分配的,有可能分配不到空间。
全局变量分配在栈中,能用多大空间吗?
答:因为全局变量不是分配在栈中的(注意:也不在堆中),能用多大空间取决于系统可用内存和虚存的多少。 对于案例3的问题还有一种方法可以解决:动态申请内存空间。 动态申请的内存空间是在运行期分配的,一旦申请成功,将分配在堆中,因此,大小也是取决于系统可用内存和虚存的多少。