面试—每日一题(8)
好长时间没有更新博客了,特别是这个专栏,一是因为自己比较忙,二是因为我还是比较懒的缘故。让各位见笑了。今天在更新一篇。
像什么strcpy、strcat等等字符串的操作和实现在面试中经常出现,不管是上机题还是笔试题。而今天在这里我将重点讲讲strcpy和memcpy的实现,而memset也会稍微提一下。
至于这几个函数,在实际的开发中,肯定不会让你亲力亲为的去实现,直接调用就ok了,但是在面试中这是一个考验你的编程基本功的过程。这三个函数的基本功能如下:
- strcpy:顾名思义,字符串的复制功能,这只是简单的这么说说
- memcpy:从名字也可以看出来,这个是内存的复制,这就说明,它不仅仅可以复制字符串,还可以复制数组、结构体等等类型
- memset:这个函数比较简单,可以说就是一个初始化的,或者说清空一个结构类型的变量或者是数组
考题形式1:
请说说strcpy和memset的区别:
考题形式2:
请自己单独实现strcpy和memset的功能:
相对于这两种形式来说,形式2的考题价值很明显比形式1的大。
strcpy和memset的主要区别:
分一下三点来说;
一:复制内容不同:strcpy只能复制字符串,而memcpy可以复制任意内容。
二:复制方法不同:strcpy不需要指定长度,它遇到字符串结束符"\0"。
三:用途不同:通常在复制字符串时用strcpy,而需要复制其他类型用memset。
现在重点来讲讲实现吧。
一下是strcpy的原型,根据这个原型来实现:
实现代码如下:一下这个是memset的原型:
实现过程如下:
现在基本写完了,你也不妨试一试。写写。好了,就到这里了,如果有问题,可以加QQ群:107133067
其它博文,希望大家提出意见:
面试-每日一题(1)
面试-每日一题(2)
面试-每日一题(3)
面试-每日一题(4)
面试-每日一题(5)
面试-每日一题(6)
面试-每日一题(7)