C语言字符串操作函数中,memcat,memcmp等和strcat,strcmp等功能都一样,但是为什么在标准库中都存在?
2个回答
展开全部
请注意,他们是不一样的
strcat,strcmp只能操作存储字符串的内存空间
memcmp可以操作任意数据类型的内存空间
我们就拿memcmp和strcmp来对比:
int memcmp(const void *buf1, const void *buf2, unsigned int
count);
//可以看到,他的前两个参数,内存中的数据类型是void,你可以强制转成任意的数据类型
extern int strcmp(const char *s1,const char * s2);
//strcmp他的参数就是char * 了,也就是说,只能是存字符串的内存空间。
strcat,strcmp只能操作存储字符串的内存空间
memcmp可以操作任意数据类型的内存空间
我们就拿memcmp和strcmp来对比:
int memcmp(const void *buf1, const void *buf2, unsigned int
count);
//可以看到,他的前两个参数,内存中的数据类型是void,你可以强制转成任意的数据类型
extern int strcmp(const char *s1,const char * s2);
//strcmp他的参数就是char * 了,也就是说,只能是存字符串的内存空间。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询