[其它应用] 栈的增长方向,用C语言如何判断?

[复制链接]
7007|51
updownq 发表于 2023-11-8 12:28 | 显示全部楼层
栈的增长方向与编译器有关,可以根据 C 编译器的文档或编程指南查看栈增长方向
fengm 发表于 2023-11-8 12:45 | 显示全部楼层
栈指针通常指向栈顶,当函数调用发生时,栈顶会移动到新的函数调用处。
timfordlare 发表于 2023-11-8 13:03 | 显示全部楼层
如果栈顶地址在函数调用后增加了,那么说明栈的增长方向是向下的。
digit0 发表于 2023-11-10 15:42 | 显示全部楼层
The mechanism closely integrated with function calls is the function call stack, and the use of the stack should be different
Pretext 发表于 2023-11-10 17:37 | 显示全部楼层
我记得关于堆栈我唯一能说的就是它只是在不断地推
朝生 发表于 2023-12-5 19:30 | 显示全部楼层
堆栈是一个被推入的内存空间
AIsignel 发表于 2023-12-7 13:11 | 显示全部楼层
增加标的目的是从高地点向低地点增加。
天天向善 发表于 2023-12-10 18:43 | 显示全部楼层
新的堆栈空间将分配在旧堆栈空间的下面。
tpgf 发表于 2023-12-13 11:20 | 显示全部楼层
楼主所说的增长方向是说地址是增加还是减小是吗
磨砂 发表于 2023-12-13 11:46 | 显示全部楼层
可以通过c读取相邻的地址就可以判断了吧
观海 发表于 2023-12-13 13:06 | 显示全部楼层
栈总是先进后出,就像**装子弹一样,最后一颗装进去的总是最先出来
guanjiaer 发表于 2023-12-13 14:33 | 显示全部楼层
堆栈向上增长:就是地址从低址向高地址增长。下一个存储地址比前一个地址更大。
堆栈向下增长:就是地址从高地址项低地址增长。下一个存储地址比前一个地址更小。
八层楼 发表于 2023-12-13 21:31 | 显示全部楼层
C语言中传递参数,一般是从右向左入栈的,所以最左边的参数是最先出栈的
晓伍 发表于 2023-12-13 22:06 | 显示全部楼层
栈的增长方向是不是可以通过对编译器的设置来搞定啊
szt1993 发表于 2023-12-14 19:18 | 显示全部楼层
楼主出栈和入栈实际是不是也是寄存器地址呀
V853 发表于 2024-1-2 10:44 | 显示全部楼层
栈空间的增加是从高地点向低地点标的目的。
理想阳 发表于 2024-1-2 11:52 | 显示全部楼层
堆栈增长的方向可以通过堆栈指针来确定。
鹿鼎计 发表于 2024-1-9 10:20 | 显示全部楼层
大多数系统选择向下增长(即在低地址)
LinkMe 发表于 2024-1-11 11:25 | 显示全部楼层
在C语言中,可以使用添加和减去指针来确定堆栈增长的方向。
芯路例程 发表于 2024-1-11 16:57 | 显示全部楼层
栈的增加标的目的凡是是由操作系统以及详细的编译器决议的,这不是由程序员直接节制的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部