c语言的函数变量(C语言基础memory函数)
c语言的函数变量(C语言基础memory函数)memcmpmemcmp是比较两块内存的值是否相等,如果前面的一块大于后面的一块返回1,如果前面一块小于后面一块就返回-1,如果相等就返回0。按照ASCII码值比较的大小。memsetmemchr是在一片内存中查找某字节内容是否为所查找的内容,为了方便指针能够向后偏移,我们将它强转成char*类型,最后返回的时候我们还是需要将其转回void*类型memchr
关注“爱当程序员的我”,每天都有关于编程头条发布
在C语言中最基础的就是string函数和memory函数,今天小编给大家分享一下memory的函数。
memory函数和string函数都差不多,但是其中就有一个很坑的函数memmove,但是了解了细节还是很简单的。
memset是在一片内存设定为初始的值,在库函数中传入参数是int类型的,小编不是很理解,如果有路过的大神,可以给小编讲解一下吗。
memset
memchr是在一片内存中查找某字节内容是否为所查找的内容,为了方便指针能够向后偏移,我们将它强转成char*类型,最后返回的时候我们还是需要将其转回void*类型
memchr
memcmp是比较两块内存的值是否相等,如果前面的一块大于后面的一块返回1,如果前面一块小于后面一块就返回-1,如果相等就返回0。按照ASCII码值比较的大小。
memcmp
接着就是比较混乱的memcpy和memmove,两个函数都是将一块内存复制到另一块上,但是两者是有区别的
假设有一个字符串是"123456789",我需要从src开始接下来的5个字节拷贝到dst,如果是memcpy函数执行的话,执行结果就是"123123129",如果是memcpy函数执行的话就会是"123123459",这种情况下我们只需要将其倒过来复制就可以了。在使用的时候我们应该注意一下他们之间的不同。
memcpy
memmove
小编亲测:在vs2017下这两个库函数运行的结果都相同说明vs2017已经修改了这里的问题。
结束语:
如果喜欢这篇头条,一定要收藏哟^O^
点击关注,了解更多关于编程的知识^O^
如果有不懂的地方,可以留言,相互探讨,相互学习,共同进步^O^