Ich habe diese Signatur einer Funktion:Clone void * Zeiger auf int
void* cloneInt(const void* i);
Diese int
stellt einen Schlüssel für eine Hash-Funktion. Ich muss diese Klonfunktion wie in meiner API für eine generische Implementierung einer Hash-Tabelle haben (diese Funktion ist ein Teil der int-Implementierung, diese Funktion wird als Zeiger auf eine Funktion weitergeleitet, die meine generische Implementierung verwenden wird) . Aber ich habe ein Problem zu verstehen: Wie können Sie eine int
klonen? Ich muss einen Zeiger zurückgeben, der auf den gleichen Wert von int
zeigt, aber einen anderen Ort im Speicher. Das hat mich sehr verwirrt.
Sie weisen Speicher für einen 'int' und zu speichern' * I' da? – GSerg
Funktioniert das? void * cloneInt (const void * i) { int meinInt = (int *) malloc (sizeof (int)); myInt = * i; return &myInt; } – Eyzuky
Nein, es wird nicht, Sie müssen 'int * myInt' erstellen, und Sie müssen es mit '* myInt = * i' zuweisen. – GSerg