问题描述
我读过 int vs size_t vs ssize_t ,我知道 int 和 ssize_t 是有符号的,而 size_t 是无符号的。
为什么 '
返回 int 而没有像 memcmp
return ssize_t 那样返回 ssize_t?
解决方法
一个 int
足以保存 memcmp
的返回值。
如果两个给定的内存区域相等,则 memcmp
函数返回 0,如果第一个区域比较少则返回小于 0 的值,如果第一个区域比较多则返回大于 0 的值。
ssize_t
可能比 int
大(并且在大多数实现中都会),并且 int
通常是“自然”字长,因此没有任何好处使用更大的尺寸。