结构体的二三事
结构体是用来集合一组属性,抽象
达到描述现实的目的
按照整体来处理 而不是各个变量 抽象出一个整体
结构体是用户自定义类型
有类型后定义结构体对象
完整类型 strcut Name == int
用typedef或者使用
.cpp可以用直接使用Name
struct cat *pact == int *pact
pact = cat2;
a.属性 变量名访问
pact->属性 指针访问
变量用.
指针用->
生出来有属性(没有构造完整之前) 叫初始化
生成了(构造之后) 叫赋值
返回结构体只返回了一个值
结构体总体构成一个值
利用结构体返回错误
在判断中 int返回多少都有可能是输入(到底返回错误还是数值)
用结构体返回错误
结构体使我们自己定义的数据类型(设计自己的类型)
系统提供的是内置类型
自己创造系统不具有的类型
临界判断条件 逼近最小/最大 相等 观察临界条件 真假
返回值和变量在程序中 代表的意义只允许由一种
数组名 = 数组名 等同于下句 指针常量不能互相赋值 (为啥不能这么做,怕栈溢出)
地址名 = 地址名 (错误写法)
a.d = b.d(b是一个数组 a.d/b.d是一个数组名 也是一个地址,成为了数组名个数组名赋值)
结构体给结构题赋值 是copy
编译阶段检查类型 类型不同不能赋值
不同于数组首地址赋值 编译器识别内置类型 进行过了类型检查
可以采用指针遍历结构体内的变量
struct ErrorInfo
{
int error;
int total;
}