我有一个带有变量value1的struct value1,并将该结构的一个实例放在一个队列中。现在我想查看一下队列,并获取struct实例中保存的数据。
下面的代码按预期工作。
Item *itemHead = queue_peek_head(itemQueue);
printf("Head: %d\n", itemHead->value1);然而,我想做同样的事情,最好没有额外的变量,如itemHead。有办法这样做吗?我最初的思路让我看到了下面的代码,正如我想的那样,这些代码不起作用(取消引用void *指针,无效的void表达式)。
*(queue_peek_head(itemQueue))->value1; //doesn't give me value1有人能想出从队列中的第一个value1访问Item的方法(最好是一行)吗?
发布于 2014-03-03 00:04:35
((Item*)queue_peek_head(itemQueue))->value1
编译器需要知道类型,以便访问结构的成员。
(另外,除非有指向指针的指针,否则不会执行*(somePointer)->,这里有两个取消引用。)
https://stackoverflow.com/questions/22135457
复制相似问题