[c/c++] size_t是什么

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[c/c++] size_t是什么相关的知识,希望对你有一定的参考价值。


结论:

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​

以上是关于[c/c++] size_t是什么的主要内容,如果未能解决你的问题,请参考以下文章

intmax_t 可以保持 size_t 吗?

size_t和unsigned int区别

c size_t

我们如何知道任何类型的理论上可能的对象的最大尺寸?

C语言中sizeof的用法

C语言中,sizeof返回值代表啥意思?