我想打印void指针的地址
u32 j;
for (j = 0; j < sizeof(struct queue_header); j += 4)
{
printf("0x%x ",(u32 *)((u32 *)q->q_hdr + j)); //q_hdr is a void pointer
}
Run Code Online (Sandbox Code Playgroud)
但该类型转换给出了错误:
警告:从指针强制转换为不同大小的整数[-Wpointer-to-int-cast]
你能告诉我怎么打印地址吗?
这%p就是:打印指针.
printf("%p ", (void *)((u32 *)q->q_hdr + j));
Run Code Online (Sandbox Code Playgroud)
应该做你想做的事.