内存分配方式
内存分配方式有三种:
(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的 整个运行期间都存在。例如全局变量,static 变量。
(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建 ,函 数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集 中,效率很高,但是分配的内存容量有限。
(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用 malloc 或 new 申请任意多 少的内存,程序员自己负责在何时用 free 或 delete 释放内存。动态内存的生存期 由我们决定,使用非常灵活,但问题也最多。
1 #include <iostream> 2 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 4 using namespace std; 5 int main(int argc, char** argv) { 6 7 //累加键盘输入的数据 8 double x,sum=0.0; 9 while(1) { 10 cout<<"x="; 11 cin>>x; 12 if (x<=0) break; 13 sum+=x; 14 } 15 cout<<"sum="<<sum<<endl; 16 return 0; 17 }