struct类型相等的判断
时间: 2023-10-30 20:06:17 浏览: 113
dotnet C# 使用 EqualityComparer 提升泛型值类型相等判断性能.rar
在C语言中,可以使用memcmp函数来判断两个结构体类型是否相等。该函数用于比较两个内存区域的内容是否完全相同。例如:
```
#include <stdio.h>
#include <string.h>
struct Person {
char name[20];
int age;
};
int main() {
struct Person p1 = {"Tom", 20};
struct Person p2 = {"Tom", 20};
if (memcmp(&p1, &p2, sizeof(struct Person)) == 0) {
printf("p1 and p2 are equal.\n");
} else {
printf("p1 and p2 are not equal.\n");
}
return 0;
}
```
上述代码中,使用memcmp函数比较了两个Person结构体类型的变量p1和p2,如果它们的内存区域完全相同,则认为它们相等。需要注意的是,使用memcmp函数比较结构体类型时,要确保两个结构体类型的成员顺序和类型完全一致。
阅读全文