gpt4 book ai didi

memory - 指针在内存中是如何存储的?

转载 作者:行者123 更新时间:2023-12-02 08:06:21 24 4
gpt4 key购买 nike

我正在开发一个操作系统项目,我只是想知道指针如何存储在内存中?我知道指针是 4 个字节,那么指针如何在 4 个字节之间分布?

我的问题是,我试图存储一个指向 4 字节内存槽的指针。假设指针是 0x7FFFFFFF。 4 个字节中每个字节存储什么?

最佳答案

指针的存储方式与任何其他多字节值相同。这4个字节按照系统的字节顺序存储。假设 4 个字节的地址如下:

大端(最高有效字节在前):

Address       Byte
0x1000 0x7F
0x1001 0xFF
0x1002 0xFF
0x1003 0xFF

小端字节序(最低有效字节在前):

Address       Byte
0x1000 0xFF
0x1001 0xFF
0x1002 0xFF
0x1003 0x7F

顺便说一句,4字节地址是32位系统。 64位系统有8字节地址。

编辑:要引用指针的每个单独部分,您需要使用指针。 :)假设你有:

int i = 0;
int *pi = &i; // say pi == 0x7fffffff
int **ppi = π // from the above example, int ppi == 0x1000

简单的指针算术将使您获得指向每个字节的指针。

关于memory - 指针在内存中是如何存储的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11304824/

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