结论:
size_t 是一个 unsigned X 类型,这里的 X 可以是 char ,int ,long ,long long 等等,因此 size_t 的最大值是根据实际情况而改变的,定义是他能容纳当前系统所能定义的数据的最大尺寸值,比如定义一个包含 4G 个元素的 char 数组。
那么 size_t 就是一定可以存的下 4G 这么一个整数。
之所以使用size_t,而不是 unsigned int 或者其他,主要是出于两个目的:1)提高代码移植时的兼容性 ; 2)分配最合适的内存空间,避免内存浪费,这在嵌入式系统中可能会比较在意一点。