C语言结构体与二分查找法

1、C语言基本类型:字符型,整型,浮点型
2、结构体(复杂类型):自定义类型  i

3、定义变量:为了分配空间
    类型            变量名;                                                                       //注:分配空间编译器通过类型来分配
    初始化:     定义变量同时赋值
    
  3.1定义结构体(自定义)的类型
     struct 类型名
     {
        属性1;
        属性2;
        ..;
     };                                                                                               //注 结尾一定要加上分号

C语言结构体与二分查找法
        3.1.1无嵌套结构体:所有属性都是基本类型
            //定义人的类型:人的信息(姓名,姓别,身高)
            struct people
            {
            //姓名:
                    char name[10];
            //性别
                    char sex;
            //身高
                    unsigned short height;
            };
        3.1.2嵌套结构体:属性是一个结构体变量
            struct people
            {
                ...
                struct *** 变量名;
                ...
            };
        
    3.2定义结构体变量:类型 变量名;
            struct 类型名 变量名;
     
     
    3.3引用结构元素:一定要通过结构体变量来引用属性。
        .运算符 :引用复杂类型的成员
        变量名.属性; 

C语言结构体与二分查找法

C语言结构体与二分查找法
        
    3.4结构体的分配空间法则:以最大字元素字节对齐    (*)
        1、查找最大元素的类型
        2、每个元素都分配以最大类型的最小的倍数。
        3、共享空间             共用体大小为共用体变量中的的最大者
        
        
    注:gcc编译器可以指定对齐方式(这不是C语言的标准)
        __attribute__((packed))
        
    3.5结构体变量之间赋值:   注:同类型之间,不同类型的结构体是不能赋值的
        struct people a,b;
        a=b;

 

 

二、二分查找法
       查找关键字符:二分(折半)查找法  (缩小区域)
     前题:查找序列是有序(降/升序)  
     假定:升序
      1、每次取序列中间元素进行比较
      2、如果key>mid,说明查找值在中间元素的右侧,
         如果key<mid,说明查找值在中间元素的左侧,
         key==mid,说明查找成功
      3、如果查找不成功,则再重复1,2步骤,直到查找成功或失败

C语言结构体与二分查找法