我怎么感觉是在C语言开始标准化的时候为了照顾旧代码所做的妥协。 标准化之前,各个系统的实现可能不同,有的系统是:time_t time(void) 而有的系统是:void time(time_t *t) 那么time_t time(time_t *t)的实现便可以兼顾两种旧有代码。 另外,为了照顾旧有代码,C库中其实还有一些不合适的地方【1】。比如文件函数一族,有的把FILE *fp放在开头,有的放在结尾,这种不一致使得学习起来略显困难。比如fwrite和fseek放在一起比较,设计者不觉得@#¥%么? size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream) int fseek(FILE *stream, long offset, int origin) 【1】这个只是个人观点,到底是什么原因,文件函数API被设计成这样,我也没找到可信的源头。
69,371
社区成员
243,080
社区内容
加载中
试试用AI创作助手写篇文章吧