Chinaunix首页 | 论坛 | 博客
  • 博客访问: 420683
  • 博文数量: 117
  • 博客积分: 5235
  • 博客等级: 大校
  • 技术积分: 1775
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-12 15:51
文章分类

全部博文(117)

文章存档

2012年(9)

2011年(2)

2010年(21)

2009年(13)

2008年(72)

我的朋友

分类: C/C++

2009-02-06 17:20:40

背景:
    指针专题.以后就别再迷糊了.

正文:
1. 内存
内存像是平铺的小格子,每个格子是1个字节的空间,有自己的编号,叫做内存编址。或者我们可以将整个内存比作电影放映厅,每个格子就是一个座位。
2. 变量
持连座票的人。int i, i这个人拿了2张连座票,char a, a这个人拿了一张票。
3. 分配
如何分配呢?起始地址和长度,也就是你拿的票的最小号和你拿票的张数。&i返回的起始地址,也就是你的最小号;张数则由类型决定,也就是你可能是普通观众也可能是vip观众


4. 指针思想
按图索骥
5. 指针是什么?
变量,一个整形变量,大概占四个座位。内容是其他变量的地址。
6. 指针与数组名
数组名类似一个常量指针。
7. const
const int *pi = &a;
int const *pi = &a;
int * const pi = &a;    //指针常量
8. 传值
int a;
int b;
funValue(int x, int y);
funPointer(int *x, int *y);
funRef(int &x, int &y);
9. 指针的指针
考验你的嵌套能力,但不要超过三重吧,否则只能像“雨人”这样的怪才才能看得懂了。
10. 函数指针
int func(int x);
int (*funcp)(int);
funcp = &func;    //函数名是函数指针常量,函数指针是函数指针变量
typedef int (*FuncP)(int);
FuncP fp = &func;
CallFun(Func fp, int x);    //传递函数指针,和参数列表
int f1(int);
int f2(int);
CallFun(f1, 10);
CallFun(f2, 11);
阅读(622) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~