size_t的应用
size_t 在stddef.h头文件中定义。
在其他常见的宏定义以及函数中常用到有:
- sizeof运算符返回的结果是size_t类型;
- void *malloc(size_t size)...
ssize_t
- ssize_t 和size_t类似,但必需是signed(表示 signed size_t类型), 用来表示可以被执行读写操作的数据块的大小。
size_t 和 int 比较
- size_t在32位架构中定义为:typedef unsigned int size_t;
- size_t在64位架构中被定义为:typedef unsigned long size_t;
- size_t是无符号的,并且是平台无关的,表示0-MAXINT的范围;int为是有符号的;
- int在不同架构上都是4字节,size_t在32位和64位架构上分别是4字节和8字节,在不同架构上进行编译时需要注意这个问题。
- ssize_t是有符号整型,在32位机器上等同与int,在64位机器上等同与 long int.