美文网首页
内存四区

内存四区

作者: 一口亅 | 来源:发表于2021-02-08 11:10 被阅读0次
    • 内存四区:代码区,全局区,栈区,堆区
    • 全局区:全局变量、静态变量、常量
    • 栈区:由编译器自动分配释放,存放函数的参数值、局部变量
    • 注意:不要返回局部变量的地址,栈区开辟数据由编译器自动释放
    • 堆区:由程序员分配释放,程序结束时由操作系统回收
    • 在C++中利用new在堆区开辟内存,释放利用delete
    #include <iostream>
    using namespace std;
    
    int a = 10;//全局变量
    
    int * func()
    {
        //利用new可以将数据开辟到堆区,需要用指针去接收这个地址
        int * p = new int(10);
        return p;
        //释放:delete p;
        //释放数组:delete [] arr;
    }
    
    int main()
    {
        int b = 10;//局部变量
    
        static int s_a = 10;//静态变量
    
        //字符串常量—— "hello world"
        
        const int c_g_a = 10;//const修饰的局部变量不在全局区
    
        int * p = func();
        cout << *p <<endl;
    
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:内存四区

          本文链接:https://www.haomeiwen.com/subject/vmgqxltx.html