首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

size_t

在头文件<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位系统。

代码语言:javascript
复制
#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);
}

可能的输出:

代码语言:javascript
复制
SIZE_MAX = 18446744073709551615
size = 400

扩展内容

ptrdiff_t

减去两个指针时返回的有符号整数类型(typedef)

offsetof

从结构类型开始到指定成员(函数宏)的字节偏移量

| size_t 的C ++文档|

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com