hijack00
hijack00
2016-09-04 10:04

C语言标准库函数原型设计

最近试着自己实现一些C库中的函数,于是参考了标准库(我用的是mingw)头文件中的函数声明,发现自己对标准库中函数原型设计存在一些不解的地方。
例如,在string.h中,有如下声明:
1. char* strchr(const char*, int);
该函数是在一个字符串中查找字符首次出现的位置,那么第二个参数为什么是int类型而不是char类型?
2. void* memset(void*, int, size_t);
memset是逐字节操作的,理论上第二个参数设为char类型就足够了,那么函数第二个参数为什么要设置为int类型?

库作者的基本考虑是什么?

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答