2024/3/12 数据结构day2

  

//1                                               |                   //1  //3

//1                                               |                  //4

//2   //4                                        |                  //2  //2

//8                                               |             

1+1+2+4+8=16                           |           1+3+4+2+2=12

//1    //3                                     |               //1

//4                                             |               //1  //2

//1   //3                                      |               //4

1+3+4+1+3=12                         |              1+1+2+4=8

 

//2   //6                                     |              //2  //6

//8                                            |              //8      

           //4   //4                          |                           //4    //4

          //8                                  |                           //8    //80

       //1  //7                               |                           //1    //7

//4 //4                                       |             //4   //4

24+2+6+4+4=40                      |        80+4+4+1+7+2+6+4+4=112

//1  //3                                   |               //1

//4                                         |               //1   //3

//2   //2                                  |               //1

1+3+4+2+2=12                    |          1+3+1=5    

//4   

//1  //3

//8

//1   //1

//2  //4

//8  

4+1+3+8+1+1+2+4+8=32

三种方法判断大小端存储

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
union A
    {
        int a1;
        char a2;
    };

int main(int argc, const char *argv[])
{
    //求大小端存储方法一强制类型转换
    int a=0x12345678;
    char b=(char)a;
    if(b==0x12){
        printf("大端存储\n");
    }else if(b==0x78){
        printf("小端存储\n");
    }
    //求大小端存储方法二指针
    short c=0x12345678;
    char *p=&c;
    if(*p==0x12){

        printf("大端存储\n");
    }else if(*p==0x78){
        printf("小端存储\n");
    }
    //求大小端存储方法三共用体
    union A m;
    m.a1=0x12345678;
    if(m.a2==0x12){
        printf("大端存储\n");
    }else if(m.a2==0x78){
        printf("小端存储\n");
    }
    
    return 0;
}

枚举

#include <stdio.h>

#include <string.h>
#include <stdlib.h>
typedef enum 
{
    LED1,
    LED2,
    LED3

}LED;
typedef enum
{
    LED_ON,

    LED_OFF
}LED_con;
void ini(LED L)
{
    switch(L)
    {
    case LED1:printf("LED1 OK\n");
              break;
    case LED2:printf("LED2 OK\n");
              break;
    case LED3:printf("LED3 OK\n");

              break;
    }
}
void Cont(LED L,LED_con D)
{
    switch(D)
    {
    case LED_ON: 
        switch(L){
        case LED1:printf("LED1初始化完成,已打开\n");break;
        case LED2:printf("LED2初始化完成,已打开\n");break;
        case LED3:printf("LED3初始化完成,已打开\n");break;

        };break;
    case LED_OFF: 
        switch(L){
        case LED1:printf("LED1初始化完成,已关闭\n");break;
        case LED2:printf("LED2初始化完成,已关闭\n");break;
        case LED3:printf("LED3初始化完成,已关闭\n");break;
        };break;
    }
}
int main(int argc, const char *argv[])
{
    ini(LED2);
    Cont(LED1,LED_ON);
    return 0;
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值