Zitat Zitat von Siro Beitrag anzeigen
Dann nervt mich auch dieser Datentyp int, weil nirgens festgeschrieben ist, was das eigentlich ist.
Hat der ein Vorzeichen oder Nicht, wieviele Bits hat er denn überhaupt...
Das ist tatsächlich etwas unschön, aber glücklicherweise schafft die Standardbibliothek hier Abhilfe: stdint.h gibt dir genau das was du suchst, nämlich Integer mit genau definierter Länge. Bei einem uint8_t z.B. kannst du dir sicher sein, daß der Datentyp 8 Bit breit ist und kein Vorzeichen hat (und zwar Compiler- und Plattformunabhängig).

Apropos wahr, da fällt mir doch gleich der Typ Boolen ein, den es in C nicht gibt.
Auch hier habe ich immer wieder unterschiedliche Varianten gefunden, was die Declaration von TRUE und FALSE betrifft.
ist TRUE jetzt 1 oder !=0 oder !=FALSE ?
Auch hier möchte ich auf die Standardbibliothek verweisen: stdbool.h definiert true und false. Bei true sollte man allerdings beachten daß in C grundsätzlich alles true ist was nicht 0 ist. Daher sollte man z.B. niemals auf Gleichheit mit true prüfen, sondern immer auf != false.


PS: was den C-Standard betrifft ist C99 die Variante (Standard ISO/IEC 9899), die ich eigentlich jedem empfehlen würde (ist in einigen Punkten besser/intuitiver als das ältere C90). C++, C#, Objective C ist alles kein C, das sind Sprachen die auf C aufbauen.

Theoretisch gäbe es auch schon C11 (ISO/IEC 9899:2011) mit nochmal einigen Verbesserungen/Erweiterungen gegenüber C99, aber da weiss ich nicht wie es mit der Compilerunterstützung aktuell ausschaut.