嵌入式学习(Day 13:结构体类型/变量类型的定义,结构体的元素访问/初始化/存储,结构体作为函数参数/结构体数组)

本文详细介绍了C语言中的结构体,包括其定义、成员变量的访问、初始化方法、内存对齐规则以及在函数参数和数组中的使用。重点讲解了基本数据类型、构造数据类型和结构体的存储特性。
摘要由CSDN通过智能技术生成

   构造数据类型:
     数据类型:1.基本数据类型
                    2.构造数据类型 

1.结构体
    struct 
    1.1结构体类型的定义
        struct 类型名 
        {
            数据类型1 成员变量1;
            数据类型2 成员变量2;
            数据类型3 成员变量3;
            ...
        };

        结构体中的数据类型可以是:
            1.基本数据类型 short int long float double 
            2.数组        int a[5];  int a[2][3];
            3.构造的数据类型 struct date d; struct time t;

      1.2 结构体变量的定义
        数据类型 变量名;

        struct datetime dt;

      1.3 结构体元素的访问
        .   结构体变量类型访问成员变量使用.
        ->  结构体指针类型访问成员变量使用-> 
        最终类型是由成员变量的类型决定

     1.4 结构体的初始化
        1.全部初始化
        struct student s = {"zhangsan", 'm', 18, 100};

        2.局部初始化
        struct student s = {
            .name = "zhangsan",
            .age = 19,
        };

        3.对结构体清0的方法:(需要加<string.h>头文件)
        memset(&s, 0, sizeof(s));                //建议使用memset,因为bzero不是c标准库的一部分。
        bzero(&s, sizeof(s));

   1.5 结构体的存储:
        内存对齐:
            1.结构体成员变量只能存放在内存地址为自身基本类型长度整数倍的内存单元中
            2.结构体大小必须为最大成员变量类型的整数倍(成员变量类型包含double型时,仍按4字节对齐存储)

    1.6 结构体作为函数参数

    1.7 结构体数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值