我对C中的size_t
感到困惑。我知道它是由sizeof
运算符返回的。但是到底是什么呢?它是数据类型吗?
假设我有一个for
循环:
for(i = 0; i < some_size; i++)
我应该使用
int i;
还是size_t i;
? 最佳答案
From Wikipedia:
根据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
。
这意味着size_t
是保证保留任何数组索引的类型。