C/C++中的指针

来源:互联网 发布:手机录屏软件 编辑:程序博客网 时间:2024/06/05 05:11

1.指针

指针是指向某一个对象的东东,它的内容是一段地址,这个地址所在的位置存储了某个对象。

 

2.指针的定义

type *var;int *pa;double *pb;string *pc;

3.指针数组与数据指针

1)数据指针

int (*p)[n];

()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n.

2)指针数组

int *p[n];

[]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。

 

4.const与指针

1)指向const对象的指针

const double *cptr;

备注:const限定了cptr指针所指向的对象为常量,而非pctr指针本身。

2const指针

int *const cptr;

备注:const修饰的是cptr指针本身,pctr在程序中不能被修改为指向其他的对象。

3)指向const对象的const指针

const double *const cptr;

备注:这样的情况下,cptr指针自身不能被修改,然后cptr指向的对象也不能被修改。

 

一个迷惑性比较强的例子:

typedef string *pstring;const pstring cptr;

这个例子中不能将typedef直接当做文本扩展了,这里面的const限定cptrconst指针。

0 0
原创粉丝点击