2016-11-17 33 views
0

這裏我有一個名稱爲param和一個結構成員的結構void指針現在我想要print指針在十六進制指針中的值爲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

從您在問題中添加的代碼。 tc_data指向垃圾數據。 –

+3

你是如何得出結論,你的程序只打印地址?請發佈[mcve],程序輸入,期望輸出和實際輸出。 –

+0

根據我的代碼它指向垃圾數據可以說,param_data.tc_data有有效的數據,現在我需要打印值 – Ria

回答

0

可能您對十六進制和十進制數據感到困惑。您正在以十六進制打印數據,並假定它是地址。如果你想看到十進制:

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