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_t
adalah 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 sizeof
operator.
Pada satu sistem, mungkin masuk akal untuk digunakan unsigned int
untuk merepresentasikan ukuran; di sisi lain, mungkin lebih masuk akal untuk menggunakan unsigned long
atau unsigned long long
. ( size_t
tidak mungkin menjadi salah satu unsigned char
atau unsigned short
, tetapi itu diizinkan).
Tujuan size_t
adalah untuk meringankan programmer dari keharusan untuk khawatir tentang yang jenis yang telah ditetapkan digunakan untuk mewakili ukuran.
Kode yang mengasumsikan sizeof
hasil unsigned int
tidak akan portabel. Kode yang mengasumsikannya menghasilkan a size_t
lebih cenderung portabel.
typedef /*This part is implementation dependent */ size_t;