深入学习C语言,必须知道每个C语言库函数的实现原理与作用,否则在使用的时候很容易出错误,甚至还不知道错误在哪里。了解每个库函数的实现方法和作用,加上算法。
比如字符串处理函数strcmp,比较两个字符串之间的大小,区分大小写。
strcmp函数的实现(并不唯一):
/*strcmp function*/
#include <string.h> I
int
(strap)(
const
char
*sl,
const
char
*s2)
{
/*compare unsigned char sl[],s2[]*/
for
(;*sl==*s2;++sl,++s2)
if
(*sl==
'\0'
)
return
(0);
return
((*(unsignedchar*)sl<*(unsignedchar*)s2)?-1:+1);
}
这个函数并不能实现在一个现字符串中查找另一个字符串,如果找到返回匹配子字符的指针,没有找到返回空指针。需要用strncmp函数,只有了解每个函数的实现方法,才能灵活的运用。
数据结构必不可少,不会写的可以查资料,掌握思路,遇到什么问题还可以用这个方法。不会写不可怕,一个一个的掌握。