打印
[其它应用]

栈的增长方向,用C语言如何判断?

[复制链接]
楼主: 两只袜子
手机看帖
扫描二维码
随时随地手机跟帖
21
updownq| | 2023-11-8 12:28 | 只看该作者 回帖奖励 |倒序浏览
栈的增长方向与编译器有关,可以根据 C 编译器的文档或编程指南查看栈增长方向

使用特权

评论回复
22
fengm| | 2023-11-8 12:45 | 只看该作者
栈指针通常指向栈顶,当函数调用发生时,栈顶会移动到新的函数调用处。

使用特权

评论回复
23
timfordlare| | 2023-11-8 13:03 | 只看该作者
如果栈顶地址在函数调用后增加了,那么说明栈的增长方向是向下的。

使用特权

评论回复
24
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

使用特权

评论回复
25
Pretext| | 2023-11-10 17:37 | 只看该作者
我记得关于堆栈我唯一能说的就是它只是在不断地推

使用特权

评论回复
26
朝生| | 2023-12-5 19:30 | 只看该作者
堆栈是一个被推入的内存空间

使用特权

评论回复
27
AIsignel| | 2023-12-7 13:11 | 只看该作者
增加标的目的是从高地点向低地点增加。

使用特权

评论回复
28
天天向善| | 2023-12-10 18:43 | 只看该作者
新的堆栈空间将分配在旧堆栈空间的下面。

使用特权

评论回复
29
tpgf| | 2023-12-13 11:20 | 只看该作者
楼主所说的增长方向是说地址是增加还是减小是吗

使用特权

评论回复
30
磨砂| | 2023-12-13 11:46 | 只看该作者
可以通过c读取相邻的地址就可以判断了吧

使用特权

评论回复
31
观海| | 2023-12-13 13:06 | 只看该作者
栈总是先进后出,就像**装子弹一样,最后一颗装进去的总是最先出来

使用特权

评论回复
32
guanjiaer| | 2023-12-13 14:33 | 只看该作者
堆栈向上增长:就是地址从低址向高地址增长。下一个存储地址比前一个地址更大。
堆栈向下增长:就是地址从高地址项低地址增长。下一个存储地址比前一个地址更小。

使用特权

评论回复
33
八层楼| | 2023-12-13 21:31 | 只看该作者
C语言中传递参数,一般是从右向左入栈的,所以最左边的参数是最先出栈的

使用特权

评论回复
34
晓伍| | 2023-12-13 22:06 | 只看该作者
栈的增长方向是不是可以通过对编译器的设置来搞定啊

使用特权

评论回复
35
szt1993| | 2023-12-14 19:18 | 只看该作者
楼主出栈和入栈实际是不是也是寄存器地址呀

使用特权

评论回复
36
V853| | 2024-1-2 10:44 | 只看该作者
栈空间的增加是从高地点向低地点标的目的。

使用特权

评论回复
37
理想阳| | 2024-1-2 11:52 | 只看该作者
堆栈增长的方向可以通过堆栈指针来确定。

使用特权

评论回复
38
鹿鼎计| | 2024-1-9 10:20 | 只看该作者
大多数系统选择向下增长(即在低地址)

使用特权

评论回复
39
LinkMe| | 2024-1-11 11:25 | 只看该作者
在C语言中,可以使用添加和减去指针来确定堆栈增长的方向。

使用特权

评论回复
40
芯路例程| | 2024-1-11 16:57 | 只看该作者
栈的增加标的目的凡是是由操作系统以及详细的编译器决议的,这不是由程序员直接节制的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则