美文网首页
内存四区

内存四区

作者: 一口亅 | 来源:发表于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;
}

相关文章

  • 内存四区

    stack(栈区):存放局部变量、函数参数、返回数据和返回地址,系统自动分配释放。栈顶从高地址向低地址的方向生长,...

  • 内存四区模型

    操作系统把C代码分成四个区: (1)堆区(heap):一般由程序员分配释放(动态内存申请与释放),若程序员不释放,...

  • 内存四区模型

    内存四区分为:栈区、堆区、全局区、代码区 c/c++可以在临时区分配内存,用完后自动被编译器清理 函数1调用函数2...

  • 内存四区模型

    全局区 全局区分为:全局变量,静态变量,文字常量区 栈区 堆区 静态局部变量 栈的生长方向

  • 内存四区图练习

    一个实参 一个形参 取地址 通过指针修改变量 返回多级指针的训练

  • C语言-内存四区

    内存总体被分为四大区域:堆区、栈区、全局区、代码区。每个区所存放的内容以及内容的声明周期不同。将内存进行区域划分有...

  • c++ 内存四区

    代码区:存放函数体的二进制代码,由操作系统进行管理全局区:存放全局变量和静态变量,以及常量(字符串常量以及其他常量...

  • 关于C语言的指针和数组的差异

    标签(空格分隔): C语言 在C语言中有内存四区的概念,分别是常量区,代码区,堆区,栈区。在常量区中的内存数据是不...

  • cpp notes 3 内存四区

    代码区,全局区,堆,栈 栈(stack)由编译器自动分配释放,存放函数的形参,局部变量等。所以,不要进行返回局部变...

  • 音视频开发之旅(20) 指针、内存模型、引用

    目录 指针 内存模型和四区使用 引用 资料 收获 一、指针 1.1 什么是指针? 指针本质上是地址,用于指向具体的...

网友评论

      本文标题:内存四区

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