size_t
|
Defined in header
<stddef.h> |
||
|
Defined in header
<stdio.h> |
||
|
Defined in header
<stdlib.h> |
||
|
Defined in header
<string.h> |
||
|
Defined in header
<time.h> |
||
|
Defined in header
<uchar.h> |
(since C11)
|
|
|
Defined in header
<wchar.h> |
(since C95)
|
|
|
typedef /*implementation-defined*/ size_t;
|
||
size_t is the unsigned integer type of the result of sizeof , _Alignof (since C11) and offsetof, depending on the data model.
|
The bit width of |
(since C99) |
Notes
size_t can store the maximum size of a theoretically possible object of any type (including array).
size_t is commonly used for array indexing and loop counting. Programs that use other types, such as unsigned int, for array indexing may fail on, e.g. 64-bit systems when the index exceeds UINT_MAX or if it relies on 32-bit modular arithmetic.
Example
Possible output:
SIZE_MAX = 18446744073709551615 size = 400
References
- C17 standard (ISO/IEC 9899:2018):
-
- 7.19 Common definitions <stddef.h> (p: 211)
-
- 7.20.3 Limits of other integer types (p: 215)
- C11 standard (ISO/IEC 9899:2011):
-
- 7.19 Common definitions <stddef.h> (p: 288)
-
- 7.20.3 Limits of other integer types (p: 293)
- C99 standard (ISO/IEC 9899:1999):
-
- 7.17 Common definitions <stddef.h> (p: 253)
-
- 7.18.3 Limits of other integer types (p: 258)
- C89/C90 standard (ISO/IEC 9899:1990):
-
- 4.1.6 Common definitions <stddef.h>
See also
| signed integer type returned when subtracting two pointers (typedef) |
|
| byte offset from the beginning of a struct type to specified member (function macro) |