【问题标题】:How to print an integer stored as void * in C?如何在C中打印存储为void *的整数?
【发布时间】:2014-05-23 03:31:41
【问题描述】:

我已将 int 存储在结构中的 void * 变量中

void * data = &ID;

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

【问题讨论】:

  • *(int*)data,如果初始类型是 int。
  • 显示你用来尊重它的代码
  • 澄清ID是不是你说的int

标签: c pointers printing int void


【解决方案1】:

您应该先将data 转换为int *,然后取消引用它:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      你只是强制转换和取消引用

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-13
        • 2014-07-03
        • 1970-01-01
        • 2021-07-15
        • 1970-01-01
        • 2017-04-22
        • 2021-12-06
        • 2020-07-26
        相关资源
        最近更新 更多