如果是结构成员,如何打印void指针的值

时间:2016-11-17 05:33:40

标签: c

这里我有一个名称为param的结构,结构成员为void指针现在我希望print指向十六进制void指针的值为500倍。

struct param
{
   void * tc_data;
}
param_t param_data;

UINT32 temp_index2=0;
UINT32 *pc = (UINT32*)param_data.tc_data;
for (temp_index2 =0;temp_index2<500;temp_index2++)
{ 
   printf (" DATA =%x\n", pc[temp_index2]);
}

我的方式是print唯一的地址,但我想print这个值。任何有关解释的帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

您可能会对十六进制和十进制数据感到困惑。您正在以十六进制打印数据并假设这是地址。如果你想看十进制,请执行:

printf (" DATA =%d\n", pc[temp_index2]);