我目前正在重新编程一些 C 库。所以我的问题是:为什么memchr
需要一个const void *s
指针而不是简单的字符指针?
我看到您可能可以搜索其他内容,但是该函数实际上称为memchr,那么为什么要使用 void 指针呢?
提前致谢!
C 的早期开发涉及大量将事物视为单个字节并允许程序员访问表示对象的字节。这个名字memchr
反映了那段历史,现在不能轻易改变。
void
被添加到语言中以提供一种类型,在某种意义上表示“有些东西在那里,但这是灵活的”。第一个参数memchr
具有类型const void *
,因为该例程可用于在任何类型的对象中搜索字节,而不需要主要是字符数组的对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句