stack到底是栈还是堆栈

发布网友

我来回答

4个回答

热心网友

堆栈是两个东西, 他们有本质上的区别, 就像我们经常把"男女"放在一起说一样.

程序分配内存时最常用到的两个位置就是堆和栈, 就像世界上最多的就是男人和女人, 对于李宇春, 程序上叫做静态区域, 这部分不是堆也不是栈.

热心网友

堆栈当然是分开的

stack 是堆

而平时说的堆栈,就是说的是栈,只不过是一种习惯而已

堆栈当然是有区别的

至于区别,你可以在网上搜搜,真的太多了点。。

新年快乐吧

热心网友

在计算机语言中:
"堆栈"简称"栈"就是stack

堆就是heap
呵呵

热心网友

C 语言中
stack是栈,由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。
heap是堆,一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。
例如:
int a = 0; 全局初始化区
char *p1; 全局未初始化区
main()
{
int b; 栈
char s[] = "abc"; 栈
char *p2; 栈
char *p3 = "123456"; 123456\0在常量区,p3在栈上。
static int c =0; 全局(静态)初始化区
p1 = (char *)malloc(10);
p2 = (char *)malloc(20);
分配得来得10和20字节的区域就在堆区。

英文stack是堆栈,别的计算机语言也许叫 stack 堆栈(例如PostScript),与C 语言习惯不同罢了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com