2014-03-03 100 views
0

我有一個結構Item與變量value1,我將這個結構的一個實例放入隊列。我現在想窺視隊列並獲取結構實例中保存的數據。C - 訪問變量結構中的變量

以下代碼按預期工作。

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 

誰能拿出一個(優選一個線)在隊列中從第一Item訪問value1的方法嗎?

回答

3

((Item*)queue_peek_head(itemQueue))->value1

的編譯器需要知道爲了訪問所述結構的構件的類型。

(另外,你不會做*(somePointer)->除非有一個指針的指針,有兩家非關聯那裏。)

+0

謝謝!我仍然抓住指針等,所以我非常感謝你的幫助。 – user41419