为什么 memcmp return int

Why memcmp return int

我阅读了关于 int vs size_t vs ssize_t 的内容,我知道 int 和 ssize_t 是有符号的,而 size_t 是无符号的。

为什么 memcmp return int 而不是 return ssize_t 像 recv return ssize_t?

一个int足以容纳memcmp的return值。

memcmp 函数 return如果两个给定的内存区域相等则为 0,如果第一个区域比较小则值小于 0,如果第一个区域比较小则值大于 0比较多

A ssize_t 可能比 int 大(在大多数实现中都会如此),而 int 通常是“自然”字长,因此有使用较大的尺寸没有任何好处。