Der Datentyp »size_t« in C
Der vorzeichenlose numerische Typ »size_t« aus dem Köpfer »stddef.h« wird häufig zur Angabe von Objektgrößen verwendet. Dieser Typ »size_t« unterstützt nur nicht-negative Zahlen und muß in Rechnungen daher mit Vorsicht verwendet werden. Bei der Verwendung von Ausdrücken dieses Typs als Operanden, sollte der Programmierer über die Regeln für vorzeichenlose Typen in C in Zusammenhang mit den verwendeten Operatoren informiert sein. Jene Regeln wurden in diesem Kurs an Hand des Typs »unsigned int« behandelt.
Die Ausgabekonversion »%zu«
Die Ausgabe eines Wertes des Typs »size_t« kann mit Hilfe der Konversionsspezifikation »%zu« erfolgen. Dabei kennzeichnet »z«, daß es sich um einen Ausdruck vom Typ »size_t« handelt, während »u« allgemein einen Ausdruck eines vorzeichenlosen numerischen Typs kennzeichnet.
main.c
#include <stdio.h> #include <stddef.h> int main( void ) { printf( "%zu\n",( size_t )0 ); }
stdout
0
Der maximale Wert »SIZE_MAX«
Der Name »SIZE_MAX« aus dem Köpfer »stdint.h« hat den Typ »size_t« und gibt den größten möglichen Wert des Typs »size_t« unter der verwendeten C -Implementation an; sein Wert beträgt mindestens »65535«.
Nach der Direktive »#include <stdint.h>« kann »SIZE_MAX« verwendet werden, ein Makro, welches den größten Wert des Typs »size_t« ausdrückt, dieser Wert muß mindestens »65535« betragen.
main.c
#include <stdio.h>
#include <stdint.h> int main( void ){ printf( "%zu\n", SIZE_MAX ); }transcript
18446744073709551615
transcript
65535