为什么程序运行时有的内存地址是确定的,再次运行也不变

为什么程序运行时有的内存地址是确定的,再次运行也不变,第1张

这是个相对地址,在游戏开始时陆猛基,游戏程序被分配到一块内存,游戏程序以此作为基地址,然后再在基地址上作偏移来使用内存。你那个地址其实是偏移地早谨址知闹,实际地址=基地址+偏移地址。

1、逻辑地址是确定了,但是物理地址是运行时候决定。

2、在C语言里面,册尺枯局部变量,全局变量都是存贮在栈(stack)里面的,

而所有用malloc和new这种 *** 作符动态分配的空间则都是存贮在堆(dump)里面的,

举个简单的例子:

int *ptr

ptr =(int*)malloc(100*sizeof(int))

这两州洞句中,ptr这个指针变量是存贮在栈里面,但是他所困弊指向的内容则是在堆里面。明白了吗


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12392000.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存