In C gibt es 5 Standard-Ganzzahltypen ohne Vorzeichen:
unsigned char
unsigned short
unsigned int
unsigned long
unsigned long long
mit verschiedenen Anforderungen an ihre Größen und Bereiche (kurz gesagt, der Bereich jedes Typs ist eine Teilmenge des Bereichs des nächsten Typs, aber einige von ihnen haben möglicherweise denselben Bereich).
size_tist ein typedef(dh ein Alias) für einen vorzeichenlosen Typ (wahrscheinlich einer der oben genannten, aber möglicherweise ein erweiterter vorzeichenloser Ganzzahltyp , obwohl dies unwahrscheinlich ist). Dies ist der Typ, den der sizeofBediener angibt .
Auf einem System kann es sinnvoll sein, unsigned intGrößen darzustellen. auf einem anderen könnte es sinnvoller sein, unsigned longoder zu verwenden unsigned long long. ( size_tist wahrscheinlich nicht entweder unsigned charoder unsigned short, aber das ist erlaubt).
Der Zweck von size_tbesteht darin, den Programmierer davon zu entlasten, sich Gedanken darüber zu machen, welcher der vordefinierten Typen zur Darstellung von Größen verwendet wird.
Code, der sizeofErträge voraussetzt, unsigned intwäre nicht portabel. Code, der davon ausgeht, dass er a ergibt, size_tist eher portabel.
typedef /*This part is implementation dependent */ size_t;