1.3 struct 结构体 结构体与函数

来源:互联网 发布:中国数据 编辑:程序博客网 时间:2024/04/27 14:28
5、结构与函数


结构体作为函数的变元
struct family{char name[20];int age;char father[20];char motger[20];};

//比较两个家庭的妈妈 是否相同。 是返回0 否则返回非0
int siblings(struct family member1, struct family member2){reurn(strcmp(member1.mother, member2.mother));}

注: 使用结构体作为函数参数,编译器会将实参结构体中的成员复制一份到形参中,其特点是形参是实参的复制,改变形参不会形象实参。缺点是调用函数时要复制实参,效率底。


结构体指针作为函数变元
//比较两个家庭的妈妈 是否相同。 是返回0 否则返回非0
int siblings(struct family *member1, struct family *member2){reurn(strcmp(member1->mother, member2->mother));}int siblings(struct family const *member1, struct family const *member2){reurn(strcmp(member1->mother, member2->mother));}

注: 使用结构体指针作为函数变元,特点是只复制实参的地址给形参,传值效率高。区别是,第二个函数参数使用 const 修饰,函数中不可以修改结构体变量内容,而第一个函数以可以。
0 0
原创粉丝点击