本文仅供交流,如有错误望指出,感谢!
结构这章学完后真的有打通任督二脉的感觉,之前学习的函数数组指针都可以在结构体里综合运用,可以说是一点里程碑式的成就感,所以值得写一篇csdn来记录一下小猿人的学习过程。
首先需要知道的是结构类型和本地变量一样,
在函数内部声明的结构类型只能在函数内部使用,
所以通常在函数外部声明结构类型,这样就可以被多个函数所使用了
下面这个代码式结构体赋值的语法
关于结构成员
* 结构和数组有点像
* 数组的成员每个类型都必须一样
* 结构的成员类型可以不一样
* 数组用 [ ] 运算符和下标访问其成员
* 比如:a[0]=10;
* 结构用 . 运算符和名字访问其成员
*如下例:
* today.day
* student.firstName
* p1.x
* p1.y
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
结构运算
* 要访问整个结构,直接用结构变量的名字
* 对于整个结构,可以做赋值、取地址,也可以传递给函数参数
* p1 = (struct point){5,10};
* 相当于p1.x = 5;p1.y = 10;
* p1 = p2; //相当于p1.x = p2.x; p1.y = p2.y;
* 数组是无法做这样的运算
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
结构指针
* 和数组不同,结构变量的名字并不是结构变量的地址,必须使用&运算符
* struct date* pDate = &today;