计算机内存“四区”的基本知识

首先我们要先明白内存分区类型

        1.代码区:存放函数体的二进制代码,由系统进行管理

        2.全局区:全局变量和静态变量及常量

        3.栈区:由编译器自动分配和释放,存放函数的参数值,局部变量等(注意在使用时不要返回

                        局部变量的地址)

        4.堆区:由程序员分配和释放,若不释放则在程序结束由系统释放(主要利用new在堆区开辟

                        空间)提示:指针本是栈区上的,指针保存的数据是在堆区上的

程序运行前:

        代码区:1.存放cpu执行的机器指令

                        2.代码区是共享的

                        3.代码区是只读的

        全局区:存放字符串常量和其他常量(comst修饰),全局变量和静态变量存放于此,

                  还包含了常量区,字符串常量,和其他常量(该区域的数据在程序结束后由系统释放)

        const修饰的全局变量/局部变量

                局部变量:(不在全局区中)                                       全局变量:全局区

                const修饰的局部变量(常量)                                        静态变量,static关键字

                                                                                                        ,常量{  字符串常量

                                                                                                                       const修饰的全局变量}

        

你可能感兴趣的:(c++,学习)