gpt4 book ai didi

c - 如何存储指针值(C 语言)

转载 作者:行者123 更新时间:2023-11-30 21:24:19 25 4
gpt4 key购买 nike

我正在寻找一种获取指针值并将其存储在字符串中的方法。你认为在 C 中有什么办法可以做到这一点吗? (*我所说的值是指使用 %p 从 printf 中得到的值)。非常感谢您的帮助!

*来自 cplusplus.com 的示例 -> printf("%p", a) -> b8000000

最佳答案

使用 sprintfsnprintf 以及 "%p" 格式。

例如:

char s[40];
int obj = 42;
int *ptr = &obj;

snprintf(s, sizeof s, "%p", (void*)ptr);

需要强制转换为 void*,因为这是 "%p" 格式说明符所期望的类型。

输出的宽度是特定于系统的,但不可能超过 40 个字符。

您可以检查 snprintf 的返回值来查看目标数组是否实际上足够长(请参阅文档)。

关于c - 如何存储指针值(C 语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38064709/

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