C语言基础13

今天是学习嵌入式相关内容的第十四天,以下是今日所学内容

C语言基础13_第1张图片

1.结构体:
    1.结构体类型定义
    2.结构体变量的定义
    3.结构体元素的访问
    4.结构体的存储

        内存对齐

        结构体整体的大小必须为最大基本类型长度的整数倍
    5.结构体作为函数参数

值传递

C语言基础13_第2张图片

C语言基础13_第3张图片
        练习:定义一个学生的类型,封装一个函数GetStuInfo获得学生信息放入结构体中,
            再封装一个函数PutStuInfo打印学生信息

指针传递
C语言基础13_第4张图片

C语言基础13_第5张图片

    6.结构体数组:
        struct student s[5];

C语言基础13_第6张图片

C语言基础13_第7张图片

2.共用体:

    共用体所有成员变量共享同一片空间

    内存大小端

方法1

C语言基础13_第8张图片

放法2(共用体)

C语言基础13_第9张图片

3.枚举:

    1.枚举类型一般说明将来变量的值在给定的常量中选择其一作为它的值
    2.枚举常量的值总是前一个枚举常量的值+1,第一个默认为0值
    3.枚举常量默认为int类型,可以直接在程序中使用

用枚举完成车牌限号

C语言基础13_第10张图片

C语言基础13_第11张图片

4.位运算运算符:
    &   按位与           与0得0
    |   按位或             或1置1
    ^   按位异或        相同为0 相异为1
    ~   按位取反
    >>  右移            右移n位 等价于 让该数 / 2^n 
    <<  左移            左移n位 等价于 让该数 * 2^n 

    按位异或实现数据交换:
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;

    将变量的第n位置0:
        num = num & ~(1 << n)

    将变量的第n位置1:
        num = num | (1 << n)

C语言基础13_第12张图片

C语言基础13_第13张图片

你可能感兴趣的:(c语言,java,算法)