Hier sind zwei Anweisungen:Warum unterscheiden sich diese beiden Anweisungen in der Größe?
int p = 0;
int size_1 = (int*)(&p+1)-(int*)&p;
int size_2 = (char*)(&p+1)-(char*)&p;
Ich fand, dass size_1
ist 1
und size_2
4
ist. Ich frage mich, warum sie so variieren
Der Abstand zwischen dem Anfang und dem Ende eines int ist 1 int, oder 4 Zeichen (auf Ihrem System) –
Ich verstehe nicht den Downvote zu dieser Frage. Obwohl es sich um eine Anfängerfrage handelt, war ich daran interessiert herauszufinden, ob es andere Antworten als die hier angegebenen gibt. – legen
Dividiere 'size_2' durch' sizeof (int) 'und das Ergebnis ist gleich' size_1'. – Peter