gpt4 book ai didi

c - 当类型在 C 中未知时,如何打印参数的值?

转载 作者:行者123 更新时间:2023-12-04 10:08:02 25 4
gpt4 key购买 nike

我怎么知道我的指针指向的特定地址包含什么?我要打印这个地址位置的内容?我应该添加什么作为占位符?

最佳答案

在 C 中无法检测到这一点。您的应用程序应该将指针指向的数据视为特定类型 - 取决于您的需要。

void treat_as_char(const void* ptr)
{
const char *p = ptr;
printf("Data: %s\n", p);
}

void treat_as_int(const void* ptr)
{
const int *p = ptr;
printf("Data (int): %d\n", p);
}

您需要一些自定义结构来允许特定指针的各种类型:

typedef struct _Variant
{
enum {INT, CHAR, DOUBLE} type;
void *ptr;
} Variant;

关于c - 当类型在 C 中未知时,如何打印参数的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3950212/

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