导读 大家好,我是小典,我来为大家解答以上问题。什么是堆栈操作?有什么特点?,什么是堆栈很多人还不知道,现在让我们一起来看看吧!1、什么是...
大家好,我是小典,我来为大家解答以上问题。什么是堆栈操作?有什么特点?,什么是堆栈很多人还不知道,现在让我们一起来看看吧!
1、什么是堆栈,这可是两个问题哦,
2、我用C++说一下:
3、一个程序要运行,系统会给该程序分配一定的空间,其中就包括堆和栈,都是用来存放程序中的变量,同时栈的功能更多,比如说在递归中,虚函数列表中,都有栈的影子
4、语句1: int a,b;
5、语句2: char str1[100];
6、语句3: char* str2 = new char[100];
7、语句1的两个变量都是存放在栈里
8、语句2的str1也是存放在栈里
9、语句3的str2存放在堆里
10、可以简单的说,不是用 new 申请空间的局部变量都是存放在栈里 ,注意是局部变量,全局变量不是!
11、通俗的说下堆和栈:
12、比如说一个慈善家建了一栋楼(栈),没地方睡的人(局部变量)都可以去那里度过一晚上,睡一晚了就走了.
13、但是在旅馆(堆), 你不能随便就进去睡一晚,要先给钱拿到钥匙(new申请空间),然后睡完了还要把钥匙还回去(释放空间);
本文到此讲解完毕了,希望对大家有帮助。