它是为了使程序可以,是代码具体较好的。在32位系统中占4个字节,而在64位系统占8个字节。size_t和ssize_t是ANSI C提供的标准头文件里定义的一个“数据类型”,其实并不是新的数据类型,不是关键字,是通过typedef从已有数据类型定义而来。ANSI C总共提供了24个头文件,他们所处的目录因编译器而异,作者用的编译器是gcc4.3.2,大部分头文件在/usr/include目录下,但是定义size_t和ssize_t的头文件stddef.h则位于/usr/lib/gcc/i486-linux-gnu/4.3.2/include目录下,是这样定义的:#define __SIZE_TYPE long unsigned int........................typedef __SIZE_TYPE__ size_t;.........................
即size_t实际上是无符号长整型,在32位系统上位32位,在64位系统中位64位。
来源出处: