c-Datentyp Größe
Wie kann ich wissen, die Größe aller Daten Typ in meinem computer?
- Sagen Sie, was? vielleicht möchten Sie umformulieren, dass die Frage ein wenig. Wo sind diese Typen? ein Beispiel code, in dem es verwendet werden würde? generell
sizeof X
zurückkehren sollte, die Größe eines TypsX
. - , die syntax für eine variable
X
. WennX
ist eine Art, die Sie verwenden solltensizeof(X)
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem folgenden Programm tun sollten, die trick für die primitiven Typen:
Dieser druckt die Anzahl der "bytes" die Art verwendet, mit
sizeof(char) == 1
per definition. Genau das, was 1 bedeutet (das ist, wie viele bits ist) ist die Umsetzung spezifischer und hängt wahrscheinlich davon ab, die zugrunde liegende hardware. Einige Maschinen haben ein 7-bit-bytes zum Beispiel, manche haben 10 oder 12-bit-bytes.CHAR_BIT
ist es erforderlich, mindestens 8. POSIX erfordertCHAR_BIT
um genau zu sein, 8.<code>
und<br>
tags und>
Entitäten, das nächste mal können Sie einfach geben Sie den code, wählen Sie es und drücken Sie ctrl-k formatieren (oder klicken Sie auf das code-Symbol (mit Nullen und Einsen) auf der Bearbeiten-Symbolleiste über dem Textfeld). Im Grunde, wenn der code-block ist gepolstert mit einer leeren Zeile und eingerückt durch 4 Leerzeichen, erscheint es formatiert.Können Sie anwenden
sizeof
jeder Art, deren Größe, die Sie brauchen, zu wissen, und dann können Sie drucken Sie das Ergebnis.int
undlong
möglicherweise die gleiche Größe. Es gibt keine Regel, die sagen, dasslong
muss in der Lage sein zu vertreten, einen größeren Bereich von Werten alsint
nur, dass es in der Lage sein muss, zu vertreten mindestens die Reichweite darstellbar durchint
.short
undint
muss mindestens 2 bytes undlong
muss mindestens aus 4 bytes, und dassshort
<int
<long
int
ist 32767, aber der kleinste zulässige maximum für lange 2147483647.int
darf so groß sein wielong
, aber das bedeutet nicht, dasslong
darf so klein wieint
.size_t
. Sie müssen entweder gegossen das Ergebnissizeof
zulong
oder verwenden Sie den%zu
Formatbezeichner.int
undlong
können die gleiche Größe haben (in dem Fallint
müssten mindestens 32-bit groß).int
kann die gleiche Größe wie entwederlong
odershort
.int
muss mindestens 16 bytes breit ist (es muss in der Lage sein zu vertreten, der Bereich [-32767,32767] auf minimum), aber das kann (und oft ist) breiter.sizeof(T)
geben Sie die Größe eines beliebigen Typs übergeben werden. Wenn Sie versuchen, um herauszufinden, die Größe aller Datentypen verwendet oder definiert in einem bestimmten Programm, werden Sie nicht in der Lage,--C-nicht behaupten, dass Niveau der Informationen, die beim kompilieren.Verwenden
sizeof
um die Größe des Typs der Variablen (gemessen in bytes).Zum Beispiel:
#include <stdint.h>
sizeof(int32_t)
zurück 4sizeof(char)
1 zurückint64_t a;
sizeof a;
zurück 8Sehen http://publications.gbdirect.co.uk/c_book/chapter5/sizeof_and_malloc.html
int32_t
undint64_t
nichtint32
undint64
. -1 für mit einige seltsame system-spezifischen Typen, die in Beispiel anstelle von dem standard diejenigen.#include
.