Chinaunix首页 | 论坛 | 博客
  • 博客访问: 44140
  • 博文数量: 12
  • 博客积分: 315
  • 博客等级: 一等列兵
  • 技术积分: 150
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-25 11:10
文章分类
文章存档

2011年(12)

我的朋友

分类: C/C++

2011-02-27 17:00:16

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) |
0

上一篇:5 指针与数组

下一篇:7函数

给主人留下些什么吧!~~