size_t
- это тип, который может содержать любой индекс массива.
В зависимости от реализации он может быть любым из:
unsigned char
unsigned short
unsigned int
unsigned long
unsigned long long
Вот как size_t
определяется в stddef.h
моей машины:
typedef unsigned long size_t;