嵌入式学习——C语言基础——day13

1. 结构体类型的定义

        struct 类型名 
        {
            数据类型1 成员变量1;
            数据类型2 成员变量2;
            数据类型3 成员变量3;
            ...
        };

        定义结构体中可以使用的数据类型有

        1.基本数据类型:int  long short  char double

        2. 数组

        3. 已经定义的结构体(结构体嵌套) 

2. 结构体变量的定义
        数据类型  变量名

        struct datetime dt;

3. 结构体元素的访问

3.1    .     结构体变量类型访问成员变量

3.2    ->   结构体指针类型访问成员变量

        注意:整体表达式的数据类型由成员变量的类型决定

4. 结构体的初始化

4.1 全部初始化

        struct student s = {"zhangsan", 'm', 18, 100};

4.2 局部初始化

        struct student s = {
            .name = "zhangsan",
            .age = 19,
        };

4.3 对结构体清零(使用时要加头文件#include <string.h>)

        memset(&s, 0, sizeof(s));
        bzero(&s, sizeof(s));

5. 结构体的存储(内存对齐原则)

5.1 结构体成员变量只能存放在内存地址为自身基本类型长度整数倍的内存单元中

5.2 结构体大小必须为最大成员变量类型的整数倍

6. 结构体作为函数参数(形参也要是结构体类型)

        1. 结构体变量传递——值传递

            void fun(struct student s)

        2. 结构体指针传递——指针传递(能够在主函数外对结构体中数据进行修改)

            void fun(struct student *ps)

7. 结构体数组(作为函数参数传入,结构体名为指向结构体数组的指针)

        void fun(struct student *ps)

  • 21
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值