目录

结构体定义

如何定义结构体?

如何使用结构体变量?

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