C语言中如何判断两个结构体中每项内容完全相等,除了对每个分量逐个比较外,还有其他办法吗?

2025-12-06 14:34:02
推荐回答(5个)
回答1:

只能进行对比,但是你要是每个成员写出来对比的话是很麻烦的事你可以用一个循环
然后使用两个指针将两个结构体强制转换为char类型指针再将这两个字符指针一 一对比这样就能检查是否相等了。

回答2:

c语言中的结构体位值类型,它不像c++的结构体更类似于类,里面可以有成员函数

对于值类型来说,是可以直接比较的 == , !=
但是,这是基于结构体内的数据类型都是基本类型,如果有指针这种类型,估计就不能直接比较了

回答3:

#include

typedef struct
{
unsigned short A:4;
unsigned short B:12;
}Name;

main()
{
printf("the lenth of UINT is:%d\n",sizeof(Name));
}

已调试通过~~~~
你问的那个问题和编译器有关

首先要在你的编译器中找到两字节的变量
VC中 unsigned short是两字节的
所以我定义的是 unsigned short

TC中可能用的是 unsigned int

回答4:

先sizeof获取结构体的大小
两个结构体的地址强制转成两个char*指针
用for循环对这两个指针地址逐个比较

回答5:

我只知道有,老师叫我上网搜,我也正在找!