如何在C中打印存储为void *的整数?

时间:2014-05-23 03:31:42

标签: c pointers printing int void

我在struct

中的void *变量中存储了一个int
void * data = &ID;

现在我要打印它。我该怎么做?我试图取消引用它,但编译器抱怨取消引用void *。谢谢!

3 个答案:

答案 0 :(得分:1)

您应首先将data投射至int *,然后将其取消:

printf("%d\n", *(int *)data);

答案 1 :(得分:0)

首先需要将void *转换为int *。然后你需要打印该指针的值意味着需要取消引用它。

printf("Data: %d\n", *((int *)data));

答案 2 :(得分:0)

你只是演员和解除引用

printf("%d\n", *(int *)data);