如何使用int作为指针的地址?

问题描述 投票:0回答:1

大家好。

比方说,我得到了一个寄存器SP,其中存储了一些int(更具体的形式是uint8_t)。

现在我想用这个int作为一个指针的地址。

我到底该怎么做呢?我几乎找遍了所有的地方,都没有找到解决办法......

c pointers
1个回答
1
投票

在正常情况下,这不是你想做的事情,因为如果你不知道你在做什么,它很容易导致未定义的行为。

但你可以做这样的事情。

uint8_t address;
// Do something to address
char *ptr = (char*)address;

或者如果你想跳过一个中间指针..:

uint8_t address;
// Do something to address
char c = *(char*)address;

改变 char 为你想要的任何类型。

© www.soinside.com 2019 - 2024. All rights reserved.