Wofür steht das Postfix “_t” in C? [duplicate]

Lesezeit: 2 Minuten

Benutzer-Avatar
willc2

Mögliches Duplikat:

Was stellt ein Typ gefolgt von _t (Unterstrich-t) dar?

Während ich meine IDE (Xcode) eintippe, zeigt die automatische Vervollständigung bereits definierte Wörter an, wenn ich gerade dabei bin, einen Variablennamen einzugeben. Ich sehe gelegentlich Namen, die ‘_t“ am Ende von ihnen.

  1. Was ist das für eine Namenskonvention und was bedeutet sie?

  2. Gibt es ein Referenzdokument, um allgemein gebräuchliche Prä- und Postfixes nachzuschlagen?

Bei der Suche mit dem Begriff „postfix“ bekomme ich viel GoogleNoise über den gleichnamigen Mailserver.

  • Duplizieren: stackoverflow.com/questions/231760/…

    – Corbin März

    8. September 2009 um 0:47 Uhr

  • Dies ist eine zweiteilige Frage, aber jeder hängt sich beim ersten Teil auf.

    – willc2

    8. September 2009 um 1:00 Uhr

  • bearbeitete Frage, um das klarer zu machen.

    – willc2

    8. September 2009 um 1:03 Uhr

  • Der zweite Teil kann mit “C Standard” und POSIX beantwortet werden (vgl opengroup.org/onlinepubs/9699919799/toc.htm) und die Handbuchseiten Ihres Systems. AFAICR, Microsoft verwendet die ‘_t’-Konvention nicht in seinem eigenen Code, außer wenn es einem Standard folgt (oder zumindest ist es keine so weit verbreitete Konvention in Windows wie in der Unix/Linux-Welt).

    – Jonathan Leffler

    8. September 2009 um 1:03 Uhr

  • Schnellste Schließer im Westen 🙁

    – willc2

    8. September 2009 um 1:04 Uhr

Das t steht für „type“ oder „typedef“. Sie werden viele POSIX-Header (und andere) mit sehen time_t, size_t, und andere. Diese enthalten (nicht unbedingt definierte) spezifische Bitgrößen basierend auf dem Betriebssystem und der Maschinenarchitektur.

  • Auch in Standard-C: size_t, wchar_t, wint_t, clock_t, ganz zu schweigen von den ganzzahligen Typen wie int8_t, uint16_t, … Eigentlich sind alle in der Antwort erwähnten ‘POSIX’-Typen zuerst im C-Standard und nur sekundär definiert in POSIX (weil es den C-Standard verwendet). Es gibt auch viele POSIX-only-Typen, die auf ‘_t’ enden: ino_t, dev_t erscheinen in <sys/stat.h>zum Beispiel, und gid_t, uid_t, mode_t und …

    – Jonathan Leffler

    8. September 2009 um 0:57 Uhr

Basierend auf meiner eigenen Erfahrung bedeutet das Postfix “_t” “Datentyp”. Mit anderen Worten, es ist ein vom Datentyp definierter verwendeter Typedef.

Das Suffix „_t“ ist eine Konvention für Datentypnamen wie z size_t oder wchar_t. Es wird nicht konsequent verwendet.

  • Ich glaube die _t Suffix war größtenteils POSIX, aber dann entschied sich ANSI, einige POSIX-Funktionen als irgendwie wichtig zu integrieren. Ich bin mir da nicht sicher, aber der erste POSIX-Standard wurde 1988 veröffentlicht, also passierten sie definitiv ungefähr zur gleichen Zeit.

    – Chris Lutz

    8. September 2009 um 0:57 Uhr

  • Der erste C-Standard wurde 1989 veröffentlicht, war aber ein oder zwei Jahre früher weitgehend fertig, als das (ANSI) C-Standardkomitee versuchte, eine endgültige Einigung über die I18N/G11N/L10N-Aspekte des Standards zu erzielen – insbesondere . Aber Sie haben Recht – die (IEEE) POSIX- und C-Standards wurden fast gleichzeitig entwickelt. Der ISO POSIX-Standard wurde erstmals 1990 veröffentlicht, im selben Jahr wie ISO C, IIRC.

    – Jonathan Leffler

    8. September 2009 um 1:00 Uhr

1266330cookie-checkWofür steht das Postfix “_t” in C? [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy