编程论坛
注册
登录
编程论坛
→
C语言论坛
自己通过malloc或者VirtualAlloc申请的内存,地址是怎么样的?
a451410
发布于 2025-03-26 22:26, 156 次点击
我想自己申请一块内存模拟堆栈变化用,所以我想知道申请后返回的地址是头还是尾?
意思就是,自己申请的内存应该是连续的吧?那么返回的地址是较小的地址还是较大的
地址,比如申请的空间是0x1-0x9,那返回的是0x1,还是0x9呢?
3 回复
#2
rjsp
2025-03-27 08:10
0x1
#3
rjsp
2025-03-27 08:12
如果不是这样的话,那么 int* p = malloc( 2*sizeof(int) ) 之后,你只能这么用:
((int*)((char*)p + 1 - n*sizeof(int)))[0] = ……;
((int*)((char*)p + 1 - n*sizeof(int)))[1] = ……;
[此贴子已经被作者于2025-3-27 08:15编辑过]
#4
a451410
5 天前 21:21
回复 2楼 rjsp
1