首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

内存函数​(memcpy、memmove、memset、memcmp

"hello bit"; memset(arr, 'x', 5); //memset 在设置的时候,是以字节为单位来设置的 printf("%s\n", arr); return 0; } memcmp...的函数的使用​ int memcmp ( const void * ptr1, const void * ptr2, size_t num ); • 比较从ptr1和ptr2指针指向的位置开始,向后的...返回值>0 int main() { int arr1[] = { 1,2,3,4,5,6,7,8,9,10 }; int arr2[] = { 1,2,3,4,8 }; int ret = memcmp...使用 memcmp 函数来比较这两个数组的前17个字节。需要注意的是,一个整数通常占用4个字节(这取决于系统和编译器),所以这里实际上比较的是两个数组的前4个整数以及第5个整数的部分字节。...memcmp 函数会返回两个内存区域之间的差异。如果第一个不匹配的字 在 arr1 中的值小于 arr2 中的值,则返回一个负数。如果相等,则返回0。

14610

【C进阶】——内存操作函数memcpy、memmove、memcmp、memset详解及其模拟实现

内存比较函数—— memcmp 4.1函数介绍 memcmp的参数,其实和strncmp是非常相似的: 它们的区别在于strncmp只能比较字符类型的数据(因为函数参数设计的是char*)...而对于memcmp来说,它不管内存中放的是什么类型的数据,都可以进行比较,因为memcmp的参数设计的是void*。...除此之外,它们没什么不同,都是一个字节一个字节的进行比较,如果相同,继续比较下一个字节的内容,直至比较完num个字节的内容,返回值也一样: 我们练习一下memcmp的使用: #include <...4.2 memcmp的模拟实现 memcmp的实现思路其实也很简单,我们就一个字节一个字节的比较,如果相等就继续比较下一个字节,不相等就返回对于的值,如果比完了num个字节都相等,就返回0。...看代码: int my_memcmp(const void* s1, const void* s2, size_t num) { assert(s1 && s2); while (num--) {

24110
领券