Ich habe mich nur gefragt, wie kann ich wissen, ob mein Laptop 64 oder 32-Bit-Maschine ist. (Es ist ein 64).Größe von int und sizeof Zeiger auf einer 64-Bit-Maschine
So, dachte ich über das Drucken die folgenden:
int main()
{
printf("%d",sizeof(int));
}
und das Ergebnis war 4, die seltsam schien (da es sich um eine 64-Bit-Maschine)
Aber, wenn ich das gedruckt:
int main()
{
printf("%d",sizeof(int*));
}
das Ergebnis war 8, was mehr Sinn machte.
Die Frage ist:
Da ich ein 64-Bit-Computer verwenden, sollte keinen primitiven Typen wie int 8 Byte
(64 Bit) und von diesem sizeof int verwenden sollte, sollte sein 8? Warum ist es nicht so?
Und warum ist die int * -Größe 8?
Ein bisschen hier verwirrt,
so Dank im Voraus.
Verwenden '% d' nicht zum Drucken von' size_t', ruft sie UB. –
http://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models – Mat
Die 64-Bit-Architektur ändert das Ganzzahlmodell im Vergleich zu 32 Bit nicht. Nur Adresse/Zeigerlänge. – user2672165