美文网首页编程语言
cpp notes 3 内存四区

cpp notes 3 内存四区

作者: loughsjtu | 来源:发表于2023-01-01 22:39 被阅读0次

代码区,全局区,堆,栈

栈(stack)由编译器自动分配释放,存放函数的形参,局部变量等。所以,不要进行返回局部变量的地址之类的操作。局部变量会在函数结束时销毁,返回的指针是野指针

利用new操作符在堆区开辟数据。堆区的数据由程序员手动开辟手动释放,释放利用操作符delete。未释放的数据在程序结束后由系统自动释放。

利用new创建的数据,会返回该数据类型对应的指针。

int * func()

{

//在堆区创建整型数据

//new返回是该数据类型的指针

  int *p = new int(10);

  return p;

}

int *p0=func();

cout<<*p0<<endl;

//会输出10

//释放堆区数据

int *p=new int(10);

delete p;

int * arr=new int[10];

for (int i, i<10, i++)

{

      arr[i]=i+100;

//释放堆区数组,释放数组的时候要加[]

delete[] arr;

相关文章

  • cpp notes 3 内存四区

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

  • cpp notes

    1. while和do while的区别在于,while先判断循环条件再执行,而do while会先执行一次,再判...

  • cpp notes 2

    1.指针 int a=10; int * p; p=&a; 也可以直接 int *p=&a; //*表示声明一个指...

  • cpp notes 4

    1. 引用的基本语法 数据类型 &别名=原名 别名和原名操控的是同一块内存,功能类似equivalence. in...

  • cpp notes 5

    接notes 4 cout <

  • IL2CPP的内存问题

    1)IL2CPP的内存问题2)Log导致的内存泄露问题3)Profiler中的Built_in Resources...

  • 内存四区

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

  • 内存四区模型

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

  • 内存四区模型

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

  • 内存四区模型

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

网友评论

    本文标题:cpp notes 3 内存四区

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