1
我有一個函數的這個簽名:克隆無效*指針爲int
void* cloneInt(const void* i);
這int
表示散列函數的關鍵。我需要這個克隆函數,因爲它在我的API中用於散列表的通用實現(該函數是int實現的一部分,該函數將作爲指向我的通用實現將使用的函數的指針) 。 但我有一個問題的理解:你如何克隆int
?我需要返回一個指向int
相同值的指針,但內存中的位置不同。這讓我非常困惑。
你一個'int'和存儲分配內存'* i'呢? – GSerg
這個工作嗎? void * cloneInt(const void * i) int myInt =(int *)malloc(sizeof(int)); myInt = * i; return &myInt; } – Eyzuky
不,你需要創建'int * myInt',並且你需要給它賦值'* myInt = * i'。 – GSerg