结构体
定义
结构体属于用户自定义的数据类型,允许用户存储不同的数据类型
结构体定义和使用
语法: struct 结构体名{ 结构体成员列表 };
创建方式3种
struct 结构体名 变量名
struct 结构体名 变量名={ 成员1值,成员2值… }
在定义结构体的时候,顺便创建结构体变量
然后再main函数里,就对s3赋值即可
结构体数组
作用
将自定义的结构体放入到数组中方便维护
语法
这里结构体名的理解就是数据类型,类比创建int类型的数组
结构体指针
作用
通过指针访问结构体中的成员
利用操作符 -> 可以通过结构体指针,访问结构体属性
这里面如果不是结构体的话,以前使用* 号去访问,现在得到结构体的地址后,用地址再箭头一下他的属性即可得到想要的值。
结构体嵌套结构体
结构体做函数参数
作用
将结构体作为参数像函数中传递
方式
值传递,地址传递
值传递中,在函数里更改的形参值不改变实参的属性,地址传递中就可改变
总结
如果不想修改函数中的数据,就用值传递,反之地址传递。
将函数的形参改为指针的形式,会大幅度减少内存空间(首先指针也就四个字节,而且不会复制新的副本出来)
结构体与const
基于上方总结的跟这个结合着来。
这样写的好处,一是减少空间,二是不怕被修改,因为常量指针,是不允许修改指针所指向内容里的值。