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

Gast #4893570
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
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
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

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.