Integer
-
Tim schrieb:
Man sollte sowieso nicht die Wischiwaschi-Bezeichner nehmen. Lieber die POSIX/C99 fixed-size Integer Typen (oder halt nach einem eigenen System benannt).
/* jeder weiss hier, dass foo unsigned und 16 Bit groß ist */ uint16_t foo;
Warum soll man die nicht nehmen ??
Bei char, short, long, int weiß man doch auch sofort wie groß die sind.
-
asdfasf schrieb:
Bei char, short, long, int weiß man doch auch sofort wie groß die sind.
Echt? Weisst du? Also ich nicht.
-
ok, ob unsigned oder nicht sieht man nicht, stimmt.
Aber ich denke jeder der sich schon etwas länger mit Programmieren beschäftigt weiß wie groß diese Datentypen sind.
-
O.K. wie groß ist der Datentyp
int
?
-
Abhängig vom BS, bei einem 32 bit ist int 4 byte groß.
-
Dann sollte dir eigentlich klar sein, warum ich lieber int32_t als int schreibe.
edit: Wobei es nichtmal auf einem "32 Bit System" klar ist, dass ein int 4 Byte groß ist.
-
Ja, aber wenns dir darum geht das du eine 32 bit große variable verwendest, könntest du ja gleich long nehmen oder ? Der ist doch immer 4 byte, und long long 8 byte.
-
Nein,
long
ist auch nicht immer 4 Byte lang. Darüber solltest du keine Annahmen treffen. Eben deswegen nimmt man ja int32_t, da ist das sicher.
-
Ja, stimmt! Hab grad nachgelesen, dachte immer long und short haben eine festgelegte größe, stimmt doch nicht.
-
Blöde Frage, aber angenommen man will nur mehr diese Bezeichner verwenden in seinem Programm, man aber eine Funktion aufruft die einen int zurückgibt, wäre es ja dann auch nicht immer sicher eine int32_t variable zu verwenden um den Rückgabewert zu speichern (auf einem 32 bit System).