©
This document uses PHP Chinese website manual Release
在头文件<stddef.h>中定义 | ||
---|---|---|
在头文件<stdio.h>中定义 | ||
在头文件<stdlib.h>中定义 | ||
在头文件<string.h>中定义 | ||
在头文件<time.h>中定义 | ||
在头文件<uchar.h>中定义 | (自C11以来) | |
在头文件<wchar.h>中定义 | (自C95以来) | |
typedef / *实现定义* / size_t; |
size_t是sizeof,alignof(自C11)和offsetof的结果的无符号整数类型。
size_t
可以存储任何类型的理论上可能的对象(包括数组)的最大尺寸。
size_t通常用于数组索引和循环计数。 使用其他类型(如unsigned int)进行数组索引的程序可能会失败,例如, 当索引超过UINT_MAX或者依赖于32位模块化算法时,它是64位系统。
#include <stdio.h>#include <stddef.h>#include <stdint.h> int main(void){ const size_t N = 100; int numbers[N]; for (size_t ndx = 0; ndx < N; ++ndx) numbers[ndx] = ndx; printf("SIZE_MAX = %lu\n", SIZE_MAX); size_t size = sizeof numbers; printf("size = %zu\n", size);}
可能的输出:
SIZE_MAX = 18446744073709551615size = 400
ptrdiff_t | 减去两个指针时返回的有符号整数类型(typedef) |
---|---|
offsetof | 从结构类型开始到指定成员(函数宏)的字节偏移量 |
| size_t 的C ++文档|