Was ist der Unterschied zwischen dem, wie der Datentyp char in 32bit vs 64bit in C gespeichert oder dargestellt?
-
20-09-2019 - |
Frage
Was ist der Unterschied zwischen dem, wie der Datentyp char in 32bit vs 64bit in C gespeichert oder dargestellt?
Lösung
Es gibt keinen Unterschied.
Ein Zeichen belegt ein Byte.
Ein Byte hat CHAR_BIT Bits.
#include <limits.h>
#include <stdio.h>
int main(void) {
printf("a char occupies 1 byte of %d bits.\n", CHAR_BIT);
return 0;
}
Andere Tipps
Ein möglicher Unterschied ist, dass Zeichen möglicherweise auf 64-Bit ausgerichtet werden, statt 32-Bit-Grenzen.
struct {
char a;
char b;
}
Vielleicht nehmen 2 * 4 Bytes auf 32-Bit und 2 * 8 Bytes auf 64-Bit.
bearbeiten -actually wäre es nicht. Jeder vernünftige complier würde eine Struktur mit nur Zeichen auf Byte-Grenze umpacken. Wenn Sie jedoch hinzugefügt, um eine ‚long c;‘ Am Ende könnte alles passieren. Deshalb a) Sie haben sizeof () und b) sollten Sie vorsichtig sein, machen die manuelle Zeiger Sachen in c.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow