Zeiger sind eine der mächtigsten - und schwierigsten - Merkmale der C -Programmiersprache. Beim Arbeiten mit Zeigern , ist es oft notwendig, zwischen verschiedenen Typen von Zeigern zu konvertieren. Manchmal ist es möglich, direkt konvertieren von einem Typ zum anderen, aber oft, vor allem in komplexen Programmen , können Sie finden es notwendig, einen Zeiger zu speichern, die aus einer Art umgewandelt worden , aber noch nicht zu einer anderen Art von Zeiger umgewandelt worden. In diesem Fall müssen Sie einen void-Zeiger , die einen Zeiger ohne Typ überhaupt darstellt verwenden . Things You
C Compiler
C Programm
brauchen anzeigen Weitere Anweisungen
1
Erklären Sie Ihre void-Zeiger . Um eine globale oder lokale Variable oder ein Feld in einer Struktur zu machen , schreiben Sie " void * p; " auf eine leere Zeile innerhalb der zugehörigen Funktion oder Struktur , oder außerhalb aller Funktionen und Strukturen , um es global. Um einen void-Zeiger Argument an eine Funktion hinzufügen , schreiben Sie " void * p" in das Argument der Funktion Liste. In beiden Fällen können Sie den Buchstaben " p" mit einem variablen Namen Ihrer Wahl ersetzen.
2
Shop ein Wert in Ihrem void-Zeiger Variable. Wenn Sie eine lokale oder globale Variable gemacht , schreiben Sie einfach "p = (void *) x ; " . Ersetzen Sie " x " mit dem Namen des typisierten Zeiger Sie gerne zu einem void-Zeiger umwandeln würde . Wenn Sie eine Struktur Feld gemacht , schreiben Sie " sp = (void *) x ; " . Ersetzen "s" mit dem Namen der Struktur und "x " mit dem Namen des Zeigers . Wenn Sie eine Funktion Argument gemacht , rufen Sie die Funktion wie folgt : " f ( (void *) x ) " . Ersetzen Sie "f" mit dem Namen der Funktion und "x " mit dem Namen des Zeigers .
3
Um den Wert der void-Zeiger lesen und wandeln es wieder in einem typisierten Zeiger schreiben Sie " x = (Type *) p; ", wobei " x " ist die typisierte Zeiger , "p" ist die void-Zeiger und "Typ" ist die ursprüngliche Art des Zeigers Sie in "p" gespeichert. Seien Sie vorsichtig , um die Art richtig, weil der C-Compiler pflichtbewusst konvertieren Sie den Zeiger auf je nachdem, welcher Typ Sie fragen , ob Sie richtig sind oder nicht . Dies kann zu subtilen Fehlern, die schwer zu beheben sind, führen .