2009-09-08 17 views
14

Eventuali duplicati:
What does a type followed by _t (underscore-t) represent?Cosa significa il suffisso "_t" in C?

Durante la digitazione nel mio IDE (Xcode), completamento automatico si apre parole già definiti quando sono parzialmente attraverso inserendo qualche nome di variabile. Occasionalmente vedo nomi con "_t" alla fine.

  1. Cosa convenzione di denominazione è che e cosa significa?

  2. Esiste un documento di riferimento per cercare le correzioni pre e post-correzione di uso comune?

La ricerca con il termine "postfix" mi dà un sacco di GoogleNoise sul server di posta con lo stesso nome.

+4

Duplicato: http://stackoverflow.com/questions/231760/what-does-a-type-followed-by-t-underscore-t-represent –

+0

Questa è una domanda in due parti, ma tutti si stanno appisolando nella prima parte – willc2

+0

domanda modificata per renderlo più chiaro. – willc2

risposta

11

La t sta per "tipo" o "typedef". Vedrai molte intestazioni POSIX (e altre) con time_t, size_t e altre. Questi che contengono dimensioni di bit specifiche (non necessariamente definite) in base al sistema operativo e all'architettura della macchina.

+2

Anche in C standard: size_t, wchar_t, wint_t, clock_t, per non parlare dei tipi interi come int8_t, uint16_t, ... In realtà , tutti i tipi 'POSIX' menzionati nella risposta sono definiti prima nello standard C e solo secondariamente in POSIX (perché usa lo standard C.) Ci sono molti tipi solo POSIX che terminano anche in '_t': ino_t, dev_t appare in "", ad esempio, e gid_t, uid_t, mode_t, e ... –

3

basato solo sulla mia esperienza personale, il suffisso "_t" significa "tipo di dati". In altre parole, è un tipo di dati definito typedef utilizzato.

2

Il suffisso "_t" è una convenzione per nomi di tipi di dati come size_t o wchar_t. Non è usato in modo coerente.

+2

Credo che il suffisso '_t' fosse in gran parte POSIX, ma poi ANSI ha deciso di incorporare alcune caratteristiche di POSIX come una specie di importante. Non posso esserne sicuro, ma il primo standard POSIX è stato rilasciato nel 1988, quindi stavano sicuramente accadendo nello stesso periodo. –

+2

Il primo standard C è stato rilasciato nel 1989, ma era in gran parte pronto un anno o due prima come il comitato standard (ANSI) C ha cercato di ottenere un accordo finale sugli aspetti I18N/G11N/L10N dello standard - in particolare . Ma hai ragione - gli standard POSIX e C (IEEE) sono stati sviluppati molto allo stesso tempo. Lo standard ISO POSIX è stato rilasciato per la prima volta nel 1990, lo stesso anno di ISO C, IIRC. –