打印

学习STM32库时有好多结构体和枚举类型,复习下构造数据类型

[复制链接]
1603|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xwuzi|  楼主 | 2013-12-19 23:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数组

结构体
    是数目固定,类型不同的若干有序数据项的集合。每个数据项称为一个成员,每个成员可以是一个基本数据类型,或是一个构造类型。

    结构体类型的定义:
    struct 结构体类型名
    {
        类型标识符 成员名1;
        类型标识符 成员名2;

        类型标识符 成员名n;
    };
    例如定义一个学生信息的结构体如下:
    struct student
    {
        int num;
        char name[10];
        char sex;
        int age;
        char addr[50];
        int score;        
    };
    这时我们就定义了一个student型的结构体类型,接着就可以定义此类型的结构体变量:
    struct student stu1,stu2;//定义了stu1和stu2为struct student型变量,编译系统会为stu1和stu2分配内存空间
    在定义结构体类型的同时可以定义结构体变量:
    struct 结构体类型名
    {
        类型标识符 成员名1;
        类型标识符 成员名2;

        类型标识符 成员名n;
    }结构体变量名表;
    例如:
    struct student
    {
        int num;
        char name[10];
        char sex;
        int age;
        char addr[50];
        int score;        
    }stu1,stu2;
    这种方法与前面的定义功能相同,都定义了结构体类型struct student和stu1,stu2两个结构体变量。
    另外还可以直接定义结构体变量:
    struct
    {
        int num;
        char name[10];
        char sex;
        int age;
        char addr[50];
        int score;        
    }stu1,stu2;

    结构体变量的引用:
    一般形式:结构体变量名.成员名
    例如:stu1.name、stu2.score。
    结构体指针:
    结构体变量所占内存单元的首地址称为结构体变量的指针。指向一个结构体变量的指针变量称为结构体指针变量。
    结构体指针变量的定义:
    struct 结构体类型名 *结构体指针变量名
    利用指针引用结构体变量成员的一般形式:
    (*结构体指针变量).成员名 或者 结构体指针变量->成员名

联合体
    定义一个联合类型的一般形式为:
    union 联合体类型名
    {
        类型标识符 成员名1;
        类型标识符 成员名2;

        类型标识符 成员名n;
    };
    联合体所占内存单元数目为成员中占内存单元数目最多的成员决定,所有成员共用这段内存。
枚举类型
    枚举类型通过枚举一系列有序的标识符来定义。枚举类型定义的一般形式为:
    enmu 枚举名{枚举分量名1,枚举分量名2,...,枚举分量名n};
    例如:
    enmu week{sun,mon,tue,wed,thu,fri,sut};
    该句定义了一个枚举类型enmu week,它由枚举常量sun、mon...sut组成。
    枚举类型中的枚举常量各自隐含一个int型值。默认第一个枚举常量的值为0,以后逐个加1
    另外可以通过赋值的方法来确定枚举变量的值,例如:
    enmu week{sun=7,mon=1,tue,wed,thu,fri,sut};
    这时,sun的值就是7,mon的值是1,tue到sut因为没有赋值而自动逐个加1。


不妥之处还望大神们拍砖并指正。


相关帖子

沙发
韦贵山| | 2013-12-20 09:37 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:人生无非是笑笑人家,再被人家笑笑~

43

主题

493

帖子

6

粉丝