A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© TGII 中级黑马   /  2016-5-25 00:17  /  968 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

         1. 什么是结构体?(使自定义数据类型)
•        1.不同类型的变量是用来保存不同类型的数据的.
•        定义:
o        用来存储不同变量类型或相同数据类型的变量组成.
o       
•        作用:
o        使用结构体创建新的数据类型,并指定新数据类型的变量是由哪些小变量联合而成的.
•        与数组的区别:
o        数组是用来存储相同数据类型,并具有相同意义的数据类型的元素的容器.
o       
        2. 如何使用结构体创建新的数据类型/
•        语法格式:
o        struct 新类型名称(结构体名)  {
o        数据类型1 小变量名称1;
o        数据类型2 小变量名称2;
o        数据类型3 小变量名称3;
o        };
•        这个代表了我们创建了一个数据类型,这个数据类型名称叫做:struct Student
       
        3. 声明结构体类型的变量
•        语法格式:
o        struct 类型名称 变量名;
o       
        4. 初始化结构体变量(与数组的赋值一样)
•        意义: 为结构体变量中的小变量赋值.
•        初始化:
o        全部初始化:
♣        先声明变量,再逐一赋值.
⎥        语法:
•        结构体变量名.成员 = 数据
•        stu.name = “jack”;
♣        声明的同时初始化
⎥        语法:
•       
o        部分初始化
♣        初始化第一个元素
♣        指定成员的变量,初始化
        5. 结构体变量成员的默认值(与数组的很是类似)
•        声明结构体变量,如果没有初始化,成员的值为垃圾值
•        只要在声明结构体变量的同时,只要初始化1个成员,其他的成员就会被自动的初始化为0.
       
        6. 为什么要使用结构体
•        方便数据的管理
       
        5. 什么时候需要定义一个结构体
•        当我们要保存1个数据.但是发现这个数据是个大数据时,这个数据是由其他的小数据联合起来组成的,那么这个时候,就得使用结构体自定义这个数据类型.在根据这个数据类型来保存数据.
       
        6. 使用结构体的注意事项(本质数据类型,与基本数据类型很像)
•        一定要先是使用结构体定义类型,然后才能使用它声明变量
•        可以批量声明
•        结构体名称的命名规范,要求结构体类型的变量的每一单词的首字母大写.
•        声明的结构体类型的同时,声明结构体类型的变量.
       
        7. 匿名结构体
•        没有结构体类型名.
o        注意:
♣        只能在声明结构体的同时就创建变量,也可以批量声明
♣        不能单独的声明这个结构体类型的变量
       
8. 结构体类型的作用域的问题(与基本数据类型差不多)
•        如果结构体类型是定义在函数的内部,那么这个结构体类型只能在这个函数的内部使用.
•        如果我们需要所有的函数都使用,那么就把它定义在函数外面.(建议)
       
        9. 结构体变量之间的赋值问题
•        相同结构体类型的变量之间绝对是可以相互赋值的
•        结构体变量之间的赋值是值传递
o       
10. 结构体数组
•        本质:一位数组,只不过元素数据类型为结构体类型.(详情请见,一维数组)

11. 结构体长度的计算
•        1.先使用sizeof 计算出数组占用的总字节数.
•        2.使用总的字节数除以每一个元素占用的字节数.
•        3.int len = sizeof(students) / sizeof(struct Student);

12. 结构体指针
•        1. 结构体指针的本质是?
o        本质:指针变量,指向结构体类型的指针变量.
•        2. 格式:
o        struct 结构体类型的名称* 指针名;
•        3. 如何通过结构体指针操作数据间接的操作数据.
o        A. (*结构体指针名).成员
o        B. 使用箭头->来访问.
•       
        13. 结构体嵌套
•        结构体中的某个数据的数据的类型为结构体类型,就叫嵌套
       
        14. 结构体作为函数的参数(与基本数据类型相同)
•        结构体是我们自定义的数据类型,也是一种数据类型,所以可以作为函数的参数
•        结构体作为参数传值是值传递.
•        如果你就是希望函数的内部可以修改实参结构体变量的值,那么久要用指针.
       
        15. 结构体作为函数的返回值
•        结构体类型完全可以作为函数的返回值.
•        在返回的时候直接剪这个结构体变量的值返回即可
•        如果你要返回结构体变量的地址,那么就要吧这个结构体变量创建在堆区.
       
        16. 枚举的使用.
•        什么是枚举?
o        某些变量的取值是限定的,变量的取值只能是指定的几个值当中的任意一个,除此之外其他的不行.
o        新的需求: 变量的取值只能是指定的几个值当中的任意1个.除此之外其他不行.
o        作用 : 支持程序员创建一种新数据类型,这个数据类型的变量的值被限定.
       
        17. 如何使用枚举创建1个新的数据类型来达到限定变量的值.
•        格式:
o        enum 新类型名称 {
♣        限定取值1 = 10,
♣        限定取值2 = 20,
♣        限定取值3 = 30,
o        };
o       
        18. 声明枚举变量
•        enum  枚举类型名称 变量名;
•        这个变量的特点: 只能够存储这个枚举类型限定的取值之一.
•       
        19. 枚举变量的初始化
•        只能为这个枚举变量赋 枚举类型 限定的 取值之一.
•        例如:
o        enum 新类型的名称 变量名 = 限定值1;
       
        20. 什么时候自己要定义枚举
•        如果你有一个变量的取值,只能取指定的几个中的一个.别的不能取,那么这个时候就可以使用枚举了.
•       
        19. 枚举的使用注意事项
•        作用域: (全局变量和局部变量差不多理解)
o        如果将枚举类型定义在函数内部,那么这个类型就只能在这个函数的内部使用
o        如果你希望将这个枚举的类型给所有的函数使用,那么就将这个枚举类型定义在函数的外面
•       
•        每一个枚举值都有对应的整型数据.
o        默认从0开始;依次递增,我们也可以指定整型数据.
o        无论什么类型的枚举变量,都占据四个字节,所以我们可以存整数,但是,可读性会变差.
o       
•        枚举的使用规范:
o        每个单词的首字母大写.
o        枚举值的命名规范:
♣        以枚举的类型开头,每个单词的首字母大写.
♣       
        20. typedef --类型定义
•        作用: 为已经存在的数据类型类型起别名.
•       
•        格式: typedef 已经存在的数据类型 别名;
•       
•        基本数据类型的别名:
o        typedef int itheima;
•       
        21 .什么时候为已经存在的数据类型起别名
•        当数据类型很长的时候,就可以为这个数据类型取1个短1点的别名,方便使用.(简化书写)
•       
        22 . 使用typedef为结构体起别名
•        1. 先声明结构体类型,后起别名
•        2. 声明结构体类型的同时,就使用typedef来为结构体起别名.
•        3. 声明匿名结构体的同时, 就使用typedef来为结构体起别名.(最常用的方式)
•       
        23. 使用typedef为枚举类型起别名
•        1. 先声明枚举类型,后起别名.
•        2. 声明枚举类型的同时,就使用typedef来为结构体起别名.
•        3. 声明匿名枚举的同时, 就使用typedef来为结构体起别名.(最常用的方式)
       
        24. 结构体与数组的区别
•        1.存储的数据
o        数组: 同类型的数据,并且具有相同的意义.
o        结构体:不同类型的数据与相同类型的数据.
•        2. 作为函数的参数
o        数组: 地址传递
o        结构体: 值传递

       

1 个回复

倒序浏览
具体应用呢?声明以及定义变量?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马