Hallo nicht unbedingt relevant für die Praxis, aber trotzdem würde es mich interessieren: Wofür steht eigentlich das _t bei den C99 Standard Interger-Typen mit fester Breite? Also wie z.B. int8_t int steht für Integer also eine Ganzzahl, 8 ist die Bit Anzahl (Breite, Größe) aber für was steht der Unterstrich (Wohl nur eine Abgrenzung um Leerzeichen zu vermeiden?) aber zu den t habe ich keinerlei Idee. Bit Bastler
Üblicherweise bedeutet das _t, dass es sich hier um einen per typedef definierten Datentypen handelt.
Steht das nicht im Standard? Ich bin zu faul nach zu schauen. Vermutlich wird das 't' für "Type" stehen.
Bit Bastler schrieb: > Wofür steht eigentlich das _t Es ist zum Verwirren von Außenstehenden gedacht. Früher hatten sich viele Leute ihre eigen Nomenklatur gemacht wie z.B. U32, U16, U8 und so, aber das war den Erfindern von uint8_t denn doch zu kurz und möglicherweise zu prägnant. Also deshalb. Ansonsten: Es ist ja immer nur eine Umbenennung der eigentlichen Basistypen in einer Headerdatei. Wem das nicht zusagt, der schreibt sich andere Benennungen und gut isses. W.S.
W.S. schrieb: > Es ist zum Verwirren von Außenstehenden gedacht. Ganz sicher. Deswegen wird die Notation auch bei size_t und time_t verwendet, alles nur, um Außenstehende zu verwirren. C ist überhaupt nur erfunden worden, um Leute zu verwirren. Wer behauptet, damit arbeiten zu können, ist einfach kein richtiger Außenstehender. > Früher hatten sich viele Leute ihre eigen Nomenklatur gemacht wie z.B. > U32, U16, U8 und so, aber das war den Erfindern von uint8_t denn doch zu > kurz und möglicherweise zu prägnant. Es ist ja auch viel vorteilhafter, wenn jeder seine eigenen Datentypen verwendet, als auf etwas allgemein standardisiertes zuzugreifen. So wird auch das Lesen anderer Leute Quelltexte viel unterhaltsamer. Das ist klar, logisch und konsequent. Leute, die keine richtigen Außenstehenden sind, sehen sich den Standard an, und entnehmen dem folgendes:
1 | B.2.12 Data Types |
2 | |
3 | The requirement that additional types defined in this section end |
4 | in ‘‘_t’’ was prompted by the problem of name space pollution. |
5 | It is difficult to define a type (where that type is not one defined |
6 | by IEEE Std 1003.1-2001) in one header file and use it in another |
7 | without adding symbols to the name space of the program. |
8 | To allow implementors to provide their own types, all conforming |
9 | applications are required to avoid symbols ending in ‘‘_t’’, which |
10 | permits the implementor to provide additional types. |
11 | Because a major use of types is in the definition of structure members, |
12 | which can (and in many cases must) be added to the structures defined |
13 | in IEEE Std 1003.1-2001, the need for additional types is compelling. |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.