详解C++内存的代码区,全局区,栈区和堆区

 更新时间:2021年12月31日 14:35:15   作者:维纳斯高多少  
这篇文章主要为大家介绍了C++内存的代码区,全局区,栈区和堆区,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

今天无意中刷到了一篇关于c++内存的帖子,我发现那个人好像写的不太对,然后同时我自己也发现我对一块还不够了解,所以我干脆就自己去了解整理了一下:
首先我们要大概知道四个区都是干什么的

代码区:

顾名思义,就是存放我们写的代码的地方,不过要注意的是存放的是二进制代码。

注意:我们写的所有的写的代码(包括注释、变量、语句等)都会放到代码区中。

全局区:

存放全局,静态变量以及常量。

注意:

1.全局区里有一个部分叫常量区,储存的是常量,如const修饰的全局变量、字符串常量等

2.局部变量不放在全局区。

栈区

由编译器自动分配释放,存放函数的参数值、局部变量等。 这个没啥好注意的。

堆区

由程序员分配释放,若程序员不释放,程序结束时由操作系统回收。

注意在C++中主要利用malloc在堆区开辟内存,new在自由存储区开辟内存(堆和自由存储区好像没多大区别,自由储存区是c++基于new分配对的一个抽象概念)

相信大家看到可能会蒙了,这么多变量怎么分的清,下面就看段代码:

#include <iostream>
using namespace std;


int q = 20;               //全局变量



const int w = 60;    const修饰的全局变量

int main()
{
    int b = 40;   //  //创建局部变量
    
    static int e= 10;//    //静态局部变量 在普通变量前面加static,属于静态变量

    cout << "csdn yyds" << endl;   //字符串常量

    const int m= 10;   //const修饰的局部变量

}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 详解C++ string字符串类

    详解C++ string字符串类

    这篇文章主要介绍了C++ string字符串类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • C++中关键字Struct和Class的区别

    C++中关键字Struct和Class的区别

    这篇文章主要介绍了C++中关键字Struct和Class的区别,本文用大量实例讲解了Struct和Class的区别,需要的朋友可以参考下
    2014-09-09
  • C++ 实现球迷 今日头条面试题

    C++ 实现球迷 今日头条面试题

    这篇文章主要介绍了C++实现球迷今日头条面试题功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • 浅析C++11新特性的Lambda表达式

    浅析C++11新特性的Lambda表达式

    C++11 新增了很多特性,lambda 表达式是其中之一,本文涉及到C++11这次更新中较为重要的lambda表达式。有需要的朋友们可以参考学习。
    2016-08-08
  • 浅析Linux下精确控制时间的函数

    浅析Linux下精确控制时间的函数

    在测试程序接口运行时间的时候,常用time,gettimeofday等函数,但是这些函数在程序执行的时候是耗费时间的
    2013-07-07
  • 一起来了解一下C++中的指针

    一起来了解一下C++中的指针

    这篇文章主要为大家详细介绍了C++的指针,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • C++的拷贝构造函数你了解吗

    C++的拷贝构造函数你了解吗

    这篇文章主要为大家详细介绍了C++的拷贝构造函数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • C语言算法练习之折半查找的实现

    C语言算法练习之折半查找的实现

    二分查找法(也叫折半查找)其本质是分治算法的一种。这篇文章主要介绍了如何利用C语言实现折半查找,感兴趣的小伙伴可以学习一下
    2022-05-05
  • C++计算每个字符出现的次数

    C++计算每个字符出现的次数

    这篇文章主要介绍了C++计算每个字符出现的次数的相关资料,需要的朋友可以参考下
    2016-05-05
  • C++如何将二叉搜索树转换成双向循环链表(双指针或数组)

    C++如何将二叉搜索树转换成双向循环链表(双指针或数组)

    这篇文章主要介绍了C++如何将二叉搜索树转换成双向循环链表(双指针或数组),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05

最新评论