为什么 memcmp 返回 int

问题描述

我读过 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 通常是“自然”字长,因此没有任何好处使用更大的尺寸。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...