Ada 5 tipe integer unsigned standar di C:
unsigned char
unsigned short
unsigned int
unsigned long
unsigned long long
dengan berbagai persyaratan untuk ukuran dan kisarannya (singkatnya, setiap kisaran jenis adalah bagian dari kisaran jenis berikutnya, tetapi beberapa di antaranya mungkin memiliki kisaran yang sama).
size_tadalah typedef(yaitu, alias) untuk beberapa tipe unsigned, (mungkin salah satu dari yang di atas tapi mungkin tipe integer unsigned yang diperluas , meskipun itu tidak mungkin). Ini adalah tipe yang dihasilkan oleh sizeofoperator.
Pada satu sistem, mungkin masuk akal untuk digunakan unsigned intuntuk merepresentasikan ukuran; di sisi lain, mungkin lebih masuk akal untuk menggunakan unsigned longatau unsigned long long. ( size_ttidak mungkin menjadi salah satu unsigned charatau unsigned short, tetapi itu diizinkan).
Tujuan size_tadalah untuk meringankan programmer dari keharusan untuk khawatir tentang yang jenis yang telah ditetapkan digunakan untuk mewakili ukuran.
Kode yang mengasumsikan sizeofhasil unsigned inttidak akan portabel. Kode yang mengasumsikannya menghasilkan a size_tlebih cenderung portabel.
typedef /*This part is implementation dependent */ size_t;