gpt4 book ai didi

c++ - 为什么动态分配的两个变量的内存位置不连续?

转载 作者:IT王子 更新时间:2023-10-29 01:15:30 24 4
gpt4 key购买 nike

<分区>

我使用了两个动​​态分配内存的变量,并打印了内存位置,但它们不是连续的。为什么?

#include <stdio.h>
#include <stdlib.h>

int main()
{
int *a = malloc(sizeof(int));
int *b = malloc(sizeof(int));
printf("\n a=%p \t b=%p \n",a,b);
}

我得到的答案(在 Linux 中)是

第一次:

 a=0x20a0010     b=0x20a0030

第二次:

 a=0x657010      b=0x657030

第三次:

 a=0x139e010     b=0x139e030 

为什么ab变量的内存位置在第1次、第2次和第3次时完全不同?

这与分页内存有关吗?

我的处理器是 64 位的。

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