Die richtigen Antworten sind schon da, aber kann ich dir einen Trick nennen, der mir generell geholfen hat, wenn ich viel C benutzen musste?
Es ist wie Sie "*" in Ihrem Kopf aussprechen - und es gibt zwei Teile.
Der gemeinsame Teil ist, wenn es Teil eines Typs ist - und jeder sagt wahrscheinlich "Zeiger", wenn sie das lesen, was großartig ist. Also (int *) ist ein int-Zeiger - oder ich werde es sogar in meinem Kopf umkehren, um "Zeiger auf einen int" zu lesen, was ein wenig hilft.
Die Sache, die mir sehr hilft, ist, wann immer Sie * in Ihrem Code sehen - lesen Sie es als "worauf angezeigt wird".
Wenn Sie dieses Muster folgen, dann:
int num = *(int *)number;
eine Integer-Variable „num“ den Wert zugewiesen wird: was Zeiger um einen int gezeigt wird, Nummer. Es übersetzt sich nur.
Manchmal muss man sich ein wenig mit der Formulierung herumärgern, aber seit ich diese Gewohnheit angenommen habe, hatte ich nie ein großes Problem, den Zeigercode zu lesen.
Ich glaube, ich lese auch & als "Die Adresse von" in C, aber ich denke, es wurde in C++ überlastet, wenn ich mich richtig erinnere.
+1 @Charles yep, im Grunde wird num jetzt eine Kopie des Werts enthalten, auf den die Nummer zeigt. – pstrjds
Es lohnt sich, hinzuzufügen: Während wir FROM void pointer verwenden, müssen wir die cast-Operatoren verwenden. Dies ist der Grund für die Verwendung von (int *), die 'Nummer', die Zeiger auf void ist, auf einen Zeiger auf einen int. Und * diesen Zeiger weiter auf einen int ablenken, um einen int zurückzugeben. –