指针大全

1. 常量指针:“是常量的指针”,即指针指向一个常量。
int i = 5;
const int *pi = &i;

2. 指针常量:“是指针的常量”,即指针存储的内存地址是一个常量,不能修改。
int i = 5;
int* const p = &i;

3. 函数指针:“指向函数的指针”,函数名是函数的首地址。
// 声明形式
typedef 函数返回类型 (*函数指针名称)(形参类型1,形参类型2);

// 例子
typedef long (*fun)(int);
// 函数指针fun,指向一个返回类型为long型,参数类型为int型的函数。


4. 指针数组:“是指数组的元素是一个指针”,即数组里面装着指针。
int *ptr[4]; // ptr是一个有4个元素,每个元素都是一个指向int指针的指针数组。
//
int *(ptr[4]);  // Ditto

5. 数组指针:“是指指向数组的指针”,即它是指针,指向整个数组。
// ptr是一个指向整型数组的指针。
int (*ptr)[];

6. 迷途指针:“也叫悬浮指针,失控指针,是当对一个指针进行delete操作后(这样会释放它所指向的内存),并没有把它设置为空时产生的”。而后,如果你没有重新赋值就试图再次使用该指针,引起的结果是不可预料的。
int i = 5;
int *pInt = new int;
pInt 
= &i;
delete pInt;  
// 此时pInt为迷途指针
pInt = NULL;  // 此时PInt为空指针

posted on 2011-12-07 17:05 梦五 阅读(334) 评论(0)  编辑 收藏 引用 所属分类: C/C++


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2011年11月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

导航

统计

常用链接

留言簿

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜