背景:
指针专题.以后就别再迷糊了.
正文:
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) |