您的位置:首页 > 其它

指针初识

2017-04-12 21:08 169 查看
1.指向一个对象;

2.指向紧邻对象所占空间的下一个位置;

3.空指针,意味着指针没有指向任何对象;用字面值nullptr来初始化指针;

4.无效指针,也就是上述情况之外的其他值。

void* 可用于存放任意对象的地址;

试图拷贝或以其他方式访问无效指针的值都会引发错误。访问无效指针的后果无法预计,编译器也不负责检查此类错误,因此必须清楚任意给定的指针是否有效。

例如:

int i=42;

int *p=&i;// p存放着变量i的指针

cout<<*p;//由符号*得到指针p所指的对象,输出42;

*p=0;//由符号*得到指针p所指的对象,即给i赋值;

cout<<*p;//输出0

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

int i=4;

int *p1=0;//p1被初始化,但没有指向任何对象

int *p2=&i;//p2被初始化,存有i的地址

int *p3;//p3的值无法确定

p3=p2;//p3和p2指向同一个对象i

p2=0;//现在p2不指向任何对象

//////////////////////////////////指向指针的引用////////////////////////////////////////////////////////

int i=0;

int *p;

int*&r=p;//r是一个对指针p的引用

r=&i;//r引用了一个指针,因此给r赋值&i就是令p指向i

*r=0;//解引用r得到i,也就是p指向的对象,将i的值改为0;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  指针