结构体大小的获取 :
#include
struct test1
{
int a; // 0 1 2 3
char b; // 4
float c; // 8 9 10 11
};
struct test2
{
int a; // 0 1 2 3
char b; // 4
char d; // 5
char e; // 6
float c; // 8 9 10 11
};
int main()
{
struct test1 t1;
struct test2 t2;
int s1=sizeof(t1);
int s2=sizeof(t2);
printf("s1=%d,s2=%d",s1,s2);
return 0;
}
输出结果:
s1=12,s2=12
结构体的比较
既然要对结构体的成员变量进行比较,那么我们就要先能够获取成员变量。
// 获取方法
变量名.成员变量名
// 对于t1,我们如果想要获取t1的内部成员变量a,那么我们就可以这样写:
t1.a
#include
struct test1
{
int a;
char b;
float c;
};
// 那么当我们判断两个test1类型的结构体t1,t2是否相等时,就可以这么写
int isEqual(test1 x,test1 y)
{
if(x.a==y.a && x.b==y.b && x.c==y.c)
{
return 1; // 相等返回 1
}
else return 0; // 不相等返回 0
}
int main()
{
struct test1 t1={1,'a',2.1}; // 声明两个test1类型的结构体变量
struct test1 t2={1,'a',2.1};
int r=isEqual(t1,t2); // 调用函数进行比较
printf("%d",r);
return 0;
}
输出结果:
1
全部0条评论
快来发表一下你的评论吧 !