gpt4 book ai didi

c - 获取变量的十六进制地址作为 uintptr_t

转载 作者:行者123 更新时间:2023-11-30 18:34:46 27 4
gpt4 key购买 nike

int y = 1;
int *x = &y;
printf("%p\n",x); // instead of printing, get this into variable of type unintptr_t

我想将地址x放入uintptr_t类型的变量

有没有办法用C语言做到这一点?

最佳答案

并不是特别困难...

uintptr_t z = (uintptr_t)x;

请注意,此转换的结果是实现定义的;您拥有的唯一保证是,如果您将 z 转换回 int *,您将获得原始指针。

顺便说一句,不存在“十六进制地址”这样的东西;地址就是地址,它们可以被视为您最喜欢的任何基数的数字,以十六进制显示它们只是一种约定(它有一些优点)。

关于c - 获取变量的十六进制地址作为 uintptr_t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50480121/

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