我对 C 语言感到困惑size_t。我知道它是由sizeof操作员返回的。但它到底是什么?它是一种数据类型吗?
size_t
sizeof
假设我有一个for循环:
for
for(i = 0; i < some_size; i++)
我应该使用int i;orsize_t i;吗?
int i;
size_t i;
来自维基百科:
根据 1999 ISO C 标准 (C99),size_t它是至少 16 位的无符号整数类型(参见第 7.17 和 7.18.3 节)。 size_t是由多个 C/C++ 标准定义的无符号数据类型,例如 C99 ISO/IEC 9899 标准,在stddef.h. 1它可以通过包含进一步导入, stdlib.h因为该文件内部子包含stddef.h. 此类型用于表示对象的大小。采用或返回大小的库函数期望它们的类型或返回类型为size_t. 此外,最常用的基于编译器的运算符 sizeof 应计算为与 兼容的常量值 size_t。
根据 1999 ISO C 标准 (C99),size_t它是至少 16 位的无符号整数类型(参见第 7.17 和 7.18.3 节)。
size_t是由多个 C/C++ 标准定义的无符号数据类型,例如 C99 ISO/IEC 9899 标准,在stddef.h. 1它可以通过包含进一步导入, stdlib.h因为该文件内部子包含stddef.h.
stddef.h
stdlib.h
此类型用于表示对象的大小。采用或返回大小的库函数期望它们的类型或返回类型为size_t. 此外,最常用的基于编译器的运算符 sizeof 应计算为与 兼容的常量值 size_t。
作为暗示,size_t是一种保证保存任何数组索引的类型。