身为一个天天处理数据的人,不得不说数据在内存中的存储是必须要知道的问题。
首先,数据在内存中的存储涉及到作用域,存储位置等方面的问题。
根据数据的作用域,可将数据划分为局部变量和全局变量;局部变量的作用域为从定义开始到函数执行结束;全局变量的作用域从程序开始到程序结束。
计算机的内存分配可以分为stack 、heap 、静态存储区以及文件常量区,程序区等几部分。
stack 区由编译器自行分配释放,主要存储局部变量等
heap区由程序员自己申请,程序运行完自行释放,C中有malloc申请,c++中用new申请
静态存储区主要存储全局变量,在程序一开始编译器就为变量分配,程序运行结束,自行释放。