非常教程

C参考手册

种类支持 | Type support

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位系统。

#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 = 18446744073709551615
size = 400

扩展内容

ptrdiff_t

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

offsetof

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

| size_t 的C ++文档|

C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。