C语言如何构建"人"的结构体

[复制链接]
813|4
 楼主| ee168 发表于 2019-9-3 19:13 | 显示全部楼层 |阅读模式
struct 人
{
char[8] 姓名,
char 性别,
char 年龄,
// 然后男人要反映长短,女人要反映三围,两种不同的数据类型,都用这个结构表示,如何表达
}
dirtwillfly 发表于 2019-9-3 21:26 | 显示全部楼层
方案一、把男人女人的参数都放在结构体里,根据需要来使用就可以了,用不到的就不用管。
方案二、定义一个联合体,放在结构体里一个联合体变量,男人的时候存男人的参数,女人的时候存女人的参数。
 楼主| ee168 发表于 2019-9-4 09:35 | 显示全部楼层
谢谢楼上的,我目前用了第一种办法,就是觉得有点浪费空间或不完美

第二种办法,我想一想怎么写

有想过用一种 void指针的方式指向不同结构,好像也不现实
 楼主| ee168 发表于 2019-9-4 14:30 | 显示全部楼层
又琢磨了一下
struct 男人描述
{
        长短;
}
struct 女人描述
{
        三围;
}
struct 人
{
        char[8] 姓名;
        char 性别;
        char 年龄;
        男人女人描述号;
        union
        {
                男人描述指针;
                女人描述指针;
        }
}
可以不要男人女人描述号,初始化时初始每个人的男人,女人描述指针
调用时
人.男人描述指针->长短
人.女人描述指针->三围
airwill 发表于 2019-9-11 22:02 | 显示全部楼层
可以用 C++  的虚类实现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

201

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部