目录
结构体定义
如何定义结构体?
如何使用结构体变量?
1.直接进行赋值
2.结构体变量名.成员名
3.通过指针变量来赋值
结构体定义
我们知道数组是一组具有相同类型的数据的集合。但在实际的编程过程中,我们往往还需要一组类型不同的数据。
比如学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组为字符,成绩为小数,因为数据类型不同,显然不能用一个数组来存放。
这时我们就需要用到结构体,对于结构体我们这样定义
把一些基本数据类型组合在一起形成的一个新的符合数据类型,叫做结构体
结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员
在Java中我们会学到对象和类,结构体的功能类似于Java中的类,当我们将程序和现实生活联系起来的时候,比如我们要定义一个手机,它有很多属性,如价格、颜色、处理器类型、品牌等等,而这些属性我们都需要不同的数据类型来存储,对于这种将不同数据类型集合起来的数据类型,我们称为结构体。
我们要记住,结构体是一个数据类型,不是一个变量 !!!
如何定义结构体?
假设我们要定义一个学生的结构体,属性包括年龄,性别,考试分数
struct Student
{
int age;
float score;
char sex;
};
这样我们就定义了一个结构体数据类型,struct Student为它的数据类型,Student为结构体名
这种方法是最为推荐的方法,只定义数据类型,还有两种方法但是不建议使用
方法2:
struct Student2
{
int age;
float score;
char sex;
} st2;
这种方法在定义数据类型之后跟上了变量名,可读性差
方法3 :
struct
{
int age;
float score;
char sex;
} st3;
这种方法不给出结构体名,后面就没法用该结构体定义新的变量 ,不推荐
如何使用结构体变量?
我们定义好数据类型后,就可以进行定义变量
1.直接进行赋值
struct Student st = {80, 66.6f, 'F'};
2.结构体变量名.成员名
struct Student st2;
st2.age = 10;
st2.score = 88;
st2.sex = 'M';
3.通过指针变量来赋值
struct Student *pst = &st2;
pst->age = 18;
pst->score =66.6;
pst->sex = "M";
在这里我们定义了一个结构体指针变量指向了st2的地址,*(pst) 就相当于st2
pst->age在计算机内部会被转换成(*pst).age