gpt4 book ai didi

c - 堆中的 vector 与堆栈中的 vector

转载 作者:行者123 更新时间:2023-12-01 17:58:05 24 4
gpt4 key购买 nike

下面的说法正确吗?

"A vector in the heap (with sbrk or malloc) starts in the low address and goes to the high ones".

例如:

int *vec = sbrk(5*sizeof(int)):

vec[0] 位于地址 0x500 中,vec[1] 位于 0x504 中。

但在堆栈中,int vec[5] 从高地址到低地址。

例如:

  • vec[0] 位于 0xFF8
  • vec[1] 位于 0xFF4 中。

对吗?

最佳答案

不,这不是真的。

虽然通常堆栈“下降”,但这仅对向其中添加新对象有效。对象本身的内容仍然与在堆上分配的顺序相同。

否则你无法进行指针算术。

关于c - 堆中的 vector 与堆栈中的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33543348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com