简介:本文通过一段简单的代码,帮助读者快速理解C++中栈和堆的数据存取情况。 演示代码:
#include <iostream>
#include<cstdio>
using namespace std;
int a = 0;
static int b = 0;
int main()
{
int Array[100000]; // 在很多编译器定义数组的时候 会默认给数组前端加上static 把数组放到
// 堆上面 因为栈内存可以顺序访问 很珍贵
// 堆理论上是无限的
int c;
int *p = new int (0);
int *q = new int (100);
char *s = "Hello";
cout << &a << " " << &b << " " << &c << " " << &p << " " << p << endl;
printf("%x\n",s);
// 0x489008 0x489010 0x6afee8 0x6afee4 0xd810f8
return 0;
}
// 栈 连续化数组 顺序栈
// 栈,堆,全局
// 栈,顺序栈,数组连续
// 堆,链式存储首先是需要区分一下,栈和堆的区别: