1.结构体的概念:结构体属于用户自定义的数据类型,允许用户存储不同的数据类型
2.基本结构体(直接访问)
上面这个是一个结构体最基本的应用,利用struct创建老师这个数据类型,在里面可以写一些关于老师的一些属性,在这个代码中的属性就包括年龄以及成绩,struct创建完数据类型在main函数里面定义老师的对象,Teacher T,T就是对象,对象可以调用其属性值、
3.基本结构体(通过指针访问)
上图地11行代码中,将Teacher 的对象T进行取址操作,注意数据类型要和取址的数据类型一样,也就是我们自定义的数据类型Teacher,其实若不是地址访问的话,利用对象调用属性直接用.就行,若是地址访问的话其实要用->,但不知道为什么现在用.也可以实现调用了,这里无伤大雅。
4.结构体嵌套结构体
结构体的嵌套无非就是一个结构体里面包含另一个结构体,例如上图中,自定义的老师里面包含了一个学生,若是被包含的话,就比如学生,那么就要在老师这个结构体里面创建对象,而老师则是在main函数里面创建对象,注意,若是被包含的话,优先级要高一些,需要先自定义,否则下面的自定义函数无法理解是什么意思
5.结构体的值传递
在函数第23行,我们调用了函数打印老师的属性,我们的实参传入的是老师的对象,函数用来接收的形参是Teacher R,用数据类型是Teacher 的对象R来接收了传入的T,现在在函数体中若要调用对象的属性,则需要用函数接收对象的R来进行调用,也就是R.什么什么
6.结构体的地址传递
在第23行,我们通过地址传递Teacher的对象T,用指针U来接收,若想调用用学生的属性,则先用老师的对象来调用学生再调用学生的属性,记住,传递谁,便用谁的数据类型,利用上图,我传递的是老师的对象的取址,所以接收的时候也要用老师Teacher这个数据类型
7.结构体中const的使用场景
记住,const是一个常量,使用多的地方是用在打印东西的时候,因为要让他不能误写,只能进行读的作用
上图中第17行,就是因为先使用了const之后又对他进行了修改,所以编译器报错