3. memcmp
3.1 memcmp的介绍
int memcmp ( const void * ptr1, const void * ptr2, size_t num );
比较从ptr1和ptr2指针开始的num个字节
返回值如下:
3.2 memcmp的使用
int main() { int arr1[] = { 1,2,3,4,5 };//01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 int arr2[] = { 1,2,3,4,6 };//01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 06 00 00 00 int ret = memcmp(arr1, arr2, 17); printf("%d\n", ret); }
代码结果:
4. memset
4.1 memset的介绍
void * memset ( void * ptr, int value, size_t num );
将 ptr 指向的内存块的第一个字节数设置为指定值(解释为无符号字符)。
4.2 memset的使用
int main() { char arr[] = "hello world";//以字节为单位来进行设置的 memset(arr, 'x', 5); printf("%s\n", arr); }
代码结果:
注意:memset是以字节为单位来进行设置的!!
什么意思呢?
int main() { int arr[10] = { 0 }; //01 01 01 01 memset(arr, 1, sizeof(arr));//这种写法无法将数据的每个元素设置为1 int i = 0; for (i = 0; i < 10; i++) { printf("%x ", arr[i]); } }
体会代码结果:
这种写法无法将数据的每个元素设置为1
如果这份博客对大家有帮助,希望各位给恒川一个免费的点赞作为鼓励,并评论收藏一下,谢谢大家!!!
制作不易,如果大家有什么疑问或给恒川的意见,欢迎评论区留言。