使用C语言介绍说明内存函数memcmp
memcmp是C语言标准库中的一个函数,用于比较两个内存区域的内容是否相同。
源代码:
int memcmp(const void* ptr1, const void* ptr2, size_t num);
ptr1和ptr2分别是要比较的两个内存区域的指针,num是要比较的字节数。
memcmp函数返回一个整数值,表示比较结果。如果两个内存区域相同,则返回0。如果第一个区域小于第二个区域,则返回一个小于零的值。如果第一个区域大于第二个区域,则返回一个大于零的值。
实例
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, world!";
char str2[] = "Hello, World!";
int result = memcmp(str1, str2, sizeof(str1) - 1);
if (result == 0) {
printf("两个字符串相同\n");
} else {
printf("两个字符串不同\n");
}
return 0;
}
需要注意的是,memcmp函数比较的是两个内存区域的内容,而与其所属的数据类型无关。因此,memcmp也可以用于比较非字符串类型的数组。