Если вы являетесь эмпирическим типом
echo | gcc -E -xc -include 'stddef.h' - | grep size_t
Вывод для Ubuntu 14.04 64-разрядный GCC 4.8:
typedef long unsigned int size_t;
Обратите внимание, что stddef.h
предоставляется GCC, а не glibc под src/gcc/ginclude/stddef.h
в GCC 4.2.
Интересные появления C99
malloc
принимают size_t
как аргумент, поэтому он определяет максимальный размер, который может быть выделен. И поскольку он также возвращается sizeof
, я думаю, что он ограничивает максимальный размер любого массива. См. Также: Максимальный размер массива в C