结构体所占的空间可以简单的认为是各个成员的所占的内存空间的和.
//结构体内存分配原则:
//以结构体成员所规定的存储空间最大的空间大小为单位来进行分配,是最大空间的最小整数倍.
//定义学生结构体
typedef struct stu {
char name[20]; //存储学生姓名
char sex; //存储学生性别
int age; //存储学生年龄
float score; //存储学生成绩
}Stu;
//练习:有三个学生,变成找出分数最高者以及年龄最小者
Stu stu1 = {"zhangsan", 'm', 21, 80};
Stu stu2 = {"lisi", 'f', 20, 90};
Stu stu3 = {"wangwu", 'm', 19, 60};
Stu maxScore = {0}; //存储分数最高者
Stu minAge = {0}; //存储年龄最小者
//1.先找出两个人中分数最高者
maxScore = stu1.score > stu2.score ? stu1 : stu2;
//2.再找出分数最高者 和 第三个 人中的分数最高者
maxScore = maxScore.score > stu3.score ? maxScore : stu3;
printf("最高分数的人是:%s", maxScore.name);
//1.先找出牵两个人中年龄最小者
minAge = stu1.score < stu2.score ? stu1 : stu2;
//2.再找出年龄最小者 和 第三个 人中的年龄最小者
minAge = minAge.score < stu3.score ? minAge : stu3;
printf("\n年龄最小的人是:%s", minAge.name);
原因:函数没有定义,或者函数重复定义
解决方案:查找函数是否定义或者,定义错误.