Im folgenden Beispiel können wir diese Zeilen ausführen, wenn wir Code schreiben Der Code ist in C.
void *p; int *int_ptr = p;
Das funktioniert gut in C. Wenn wir nun malloc() verwenden, um Speicherplatz zuzuweisen, können wir Es ist möglich, eine explizite Typkonvertierung zu verwenden, aber wenn wir das nicht tun, ist das kein Problem. Die malloc() Die Funktion gibt einen Nullzeiger zurück.
int *int_ptr = malloc(sizeof(int) * 10);
Der hier zurückgegebene Void-Zeiger wird implizit in einen Zeiger vom Typ Integer konvertiert.
Wenn wir nun dasselbe Programm in C und C++ ausführen möchten, sollten wir die Typkonvertierung explizit durchführen Zeiger.
void *p; int *int_ptr = (int *) p; int *arr_ptr = (int *) malloc(sizeof(int) * 10);
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen „void *' in C und C++?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!