2011-11-21 92 views
-2

A void*是一個指向任何東西的指針,即它只是一個地址!怎麼能解除它?但是在這本書的C語言編程語言(第二版)第121頁中,swap函數似乎是這樣做的。void * v []; v [i] = v [j];爲什麼這是正確的?

+1

什麼?請重新提出您的問題,這絕對沒有意義! – Praetorian

+1

有趣的問題,但你應該找人幫助你用清晰的英文寫出來。 – Joe

+0

@Joe我的英語很差,我不知道如何 – ytyisme

回答

2

void *v[]是指針的數組。因此,v[i] = v[j];將位於索引j的元素分配給位置i,其不涉及解引用指針而僅僅複製指針(地址)。

+0

你能編輯我的問題變得更清楚嗎? – ytyisme

+0

'v [0]'類型爲'void *',而不是'void'類型。 –

+0

@PerJohansson哦,也許,明白了吧 – ytyisme

0

您需要將指針轉換爲所需的類型。例如,void * x; (int *)x - 突然它是一個指向int的指針。

+0

我知道,謝謝 – ytyisme

相關問題