size_t
|
Definiert in Header
<stddef.h>
|
||
|
Definiert in Header
<stdio.h>
|
||
|
Definiert in Header
<stdlib.h>
|
||
|
Definiert in Header
<string.h>
|
||
|
Definiert in Header
<time.h>
|
||
|
Definiert in Header
<uchar.h>
|
(seit C11)
|
|
|
Definiert in Header
<wchar.h>
|
(seit C95)
|
|
|
typedef
/*implementation-defined*/
size_t
;
|
||
size_t
ist der vorzeichenlose Ganzzahltyp des Ergebnisses von
sizeof
,
offsetof
und
_Alignof
(bis C23)
alignof
(seit C23)
, abhängig vom
Datenmodell
.
|
Die Bitbreite von
|
(since C99) |
Inhaltsverzeichnis |
Hinweise
size_t
kann die maximale Größe eines theoretisch möglichen Objekts jedes Typs (einschließlich Arrays) speichern.
size_t
wird häufig für Array-Indizierung und Schleifenzählung verwendet. Programme, die andere Typen wie
unsigned
int
für die Array-Indizierung verwenden, können auf z.B. 64-Bit-Systemen fehlschlagen, wenn der Index
UINT_MAX
überschreitet oder wenn er auf 32-Bit-modularer Arithmetik basiert.
Mögliche Implementierungtypedef typeof ( sizeof ( 0 ) ) size_t ; |
(seit C23) |
Beispiel
#include <stddef.h> #include <stdint.h> #include <stdio.h> int main(void) { const size_t N = 101; int numbers[N]; size_t sum = 0; for (size_t ndx = 0; ndx < N; ++ndx) sum += numbers[ndx] = ndx; size_t size = sizeof numbers; printf("sum = %zu\n", sum); printf("size = %zu\n", size); printf("SIZE_MAX = %zu\n", SIZE_MAX); }
Mögliche Ausgabe:
sum = 5050 size = 404 SIZE_MAX = 18446744073709551615
Referenzen
- C23-Standard (ISO/IEC 9899:2024):
-
- 7.19 Allgemeine Definitionen <stddef.h> (S: TBD)
-
- 7.20.3 Grenzen anderer Ganzzahltypen (S: TBD)
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.19 Allgemeine Definitionen <stddef.h> (S: 211)
-
- 7.20.3 Grenzen anderer Ganzzahltypen (S: 215)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.19 Allgemeine Definitionen <stddef.h> (S: 288)
-
- 7.20.3 Grenzen anderer Ganzzahltypen (S: 293)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.17 Allgemeine Definitionen <stddef.h> (S: 253)
-
- 7.18.3 Grenzwerte anderer Ganzzahltypen (S: 258)
- C89/C90 Standard (ISO/IEC 9899:1990):
-
- 4.1.6 Allgemeine Definitionen <stddef.h>
Siehe auch
|
vorzeichenbehafteter Ganzzahltyp, der bei der Subtraktion zweier Zeiger zurückgegeben wird
(typedef) |
|
|
Byte-Offset vom Anfang eines Struct-Typs zum angegebenen Mitglied
(Funktionsmakro) |
|
|
C++-Dokumentation
für
size_t
|
|