结论:

size_t 是一个 unsigned X 类型,这里的 X 可以是 char ,int ,long ,long long 等等,因此 size_t 的最大值是根据实际情况而改变的,定义是他能容纳当前系统所能定义的数据的最大尺寸值,比如定义一个包含 4G 个元素的 char 数组。

那么 size_t 就是一定可以存的下 4G 这么一个整数。

size_t  cnt = sizeof(arr); 

之所以使用size_t,而不是 unsigned int 或者其他,主要是出于两个目的:1)提高代码移植时的兼容性 ; 2)分配最合适的内存空间,避免内存浪费,这在嵌入式系统中可能会比较在意一点。

参考:

About size_t and ptrdiff_t

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐