6.2结构与函数
1.如果传递给函数的结构很大,传递结构指针的方式效率往往更高.
2.运算符优先级: . -> () []是最高的,他们同操作数的结合更紧密,按从左到右的顺序.所以
对于strcut rect r, *rp=&r;
r.pt1.x,rp->pt1.x,(r.pt1).x,(rp->pt1).x是等价的
对于struct {int len; char* str;} *p;
++p->len增加的是len的值,而不是p;
*p->str取得是str指向对象的值;*p->str++先读取str指向对象的值,再将str++;
6.3结构数组
1.条件编译语句#if中不能用sizeof,因为预处理器不对类型名进行分析;但预处理不计算#define中的表达式,所以#define中用sizeof是合法的.
6.4指向结构的指针
1.结构的长度并不是所有程序长度之和,要考虑字节对齐问题
6.8联合
1.联合就是一个结构,它的所有成员相对于结构的基地址的偏移量都是0,联合只能用其第一个成员的数据类型来初始化.
阅读(1353) | 评论(0) | 转发(0) |