Wofür steht eigentlich _t bei den C99 Standard Integer Typen

Gast #4893570
Lesenswert?
• ▲
▼
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
Gast #4893703
Lesenswert?
• ▲
▼
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.
Persönliche Seite #4893713
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren